我有一个数据帧:
StoreNumber Year
1000 2000
1000 2001
1000 2002
1001 2000
1001 2001
1001 2002
我想添加一列,以便最终的数据帧如下所示:
StoreNumber Year New
1000 2000 1
1000 2001 2
1000 2002 3
1001 2000 1
1001 2001 2
1001 2002 3
我不希望新行依赖于StoreNumber,这在示例中看起来很明显。我想从1开始编号,当我到达3时,再从1开始。我该怎么做呢?
您可以使用numpy.tile
:
In [507]: import numpy as np
In [508]: list_int = [1,2,3]
In [510]: df['New'] = np.tile(list_int, len(df)//len(list_int) + 1)[:len(df)]
In [511]: df
Out[511]:
StoreNumber Year New
0 1000 2000 1
1 1000 2001 2
2 1000 2002 3
3 1001 2000 1
4 1001 2001 2
5 1001 2002 3
您可以创建基本列表[1,2,3]
,并根据需要重复多次。
baselist = [1, 2, 3]
size = df.size[0]
df['New'] = (baselist * (size // len(baselist) + 1))[size]
您可以使用itertools.cycle
来创建一个迭代器,并使用它来生成目标序列:
from itertools import cycle
num_cycle = cycle([1, 2, 3])
df['New'] = [next(num_cycle) for num in range(len(df))]
import pandas as pd
import itertools
df = pd.DataFrame(
data = [
(1000, 2000),
(1000, 2001),
(1000, 2002),
(1001, 2000),
(1001, 2001),
(1001, 2002),
],
columns=['StoreNumber', 'Year']
)
num_cycle = itertools.cycle([1, 2, 3])
df['New'] = [next(num_cycle) for num in range(len(df))]
print(df)
输出将是
StoreNumber Year New
0 1000 2000 1
1 1000 2001 2
2 1000 2002 3
3 1001 2000 1
4 1001 2001 2
5 1001 2002 3
问题内容: 使用标准Java库,从IPV4地址的虚线字符串表示形式()到等效整数表示形式()的最快方法是什么。 相应地,反转所述操作的最快方法是什么-从整数到字符串表示形式? 问题答案: 字符串到整数: 整数到字符串:
我怎样才能把数字从1列成一个特定的数字?我想制作一个脚本,可以执行以下操作: 我不知道怎样才能做到这一点。是否有自动生成列表的特定功能,我现在正在手动键入?我试着用谷歌搜索它,但大多数答案都是关于把一个数字分开,然后列一个清单。这样地
问题内容: 我需要将JSONArray对象存储为字符串,然后检索该字符串并将其转换回JSONArray。 如果我做: 我会找回同一个物体吗? 我正在尝试将JSONArray存储在SQLite数据库中。 这就是我在看的东西。http://developer.android.com/reference/org/json/JSONArray.html#toString() 问题答案: 只要它是一个有效的
到目前为止,我做到了: 我的Ajax1函数返回ajax对象。我的等待函数看起来像这样: 问题是第二个ajax请求函数(Ajax2)并没有等待等待函数!编辑:我也试过: 什么也没变。从jQuery文档: 在将多个延迟对象传递给jQuery.when的情况下,该方法将从新的“master”返回promise“延迟对象,跟踪已传递的所有延迟的聚合状态。当所有延迟被解决时,该方法将立即解决其主延迟,或者当
我有一个用例,需要调用UPDATE/DELETE Rest endpoint,它可能会返回关于实体被锁定以进行编辑的异常。我想等待实体解锁一段时间,否则调用force unlock endpoint并再次调用我的原始请求。这在故障保护中是可能的吗? 到目前为止我试过: 和 然而,用这种方法,我必须自己做最后一次“重试”,不能得到这个动作的结果。
我正在学习爪哇,我正在通过德特尔 创建一个具有长度和宽度属性的类Rectangle,每个属性默认为1。提供计算矩形周长和面积的方法。对长度和宽度都使用set和get方法。set方法将验证长度和宽度都是大于0.0小于20.0的浮点数。编写一个程序来测试类Rectangle。 这是我创建的类: 下面是测试类或驱动类: 当我运行测试类(在IDE中)时,显示了以下警告: "不兼容的类型:从double到f