【发布时间】:2020-10-26 16:50:25
【问题描述】:
我想在数据框中添加一个包含重复系列值的列,列表中的每个值都重复设定的次数,例如:
x y z
0 2 1
2 15 1
0 10 2
2 20 2
0 30 3
2 50 3
z 中的每个值重复两次。
到目前为止,我有这个重复整个列表而不是列表中的每个项目的次数:
data = [[0, 2], [2, 15], [0, 10], [2, 20], [0, 30], [2, 50]]
df1 = pd.DataFrame(data, columns = ['x', 'y'])
df1['z']=0
np.put(df1['z'], np.arange(len(df1)), [1, 2])
print(df1)
结果:
x y z
0 2 1
2 15 2
0 10 3
2 20 1
0 30 2
2 50 3
如何指定重复列表中每个项目而不是重复整个列表的次数?此外,理想情况下,如果该解决方案可以应用于字符串和整数,那就太好了,非常感谢!
【问题讨论】:
-
df1['z'] = np.tile(np.arange(len(df1)), 2)?