用python组填充dataframe的列
我有一个熊猫数据框 哪个有一行用python组填充dataframe的列,python,pandas,Python,Pandas,我有一个熊猫数据框 哪个有一行 key 1 2 3 ... 93 我拥有机器数量=3台 我想为每台机器分配相同数量的钥匙。i、 e 共有9把钥匙和3台机器,因此,每台机器应关联3把钥匙。 以下是所需的数据帧: key machine allocated 1 1 2 1 3 1 .......... 90 3 91
key
1
2
3
...
93
我拥有机器数量=3台
我想为每台机器分配相同数量的钥匙。i、 e
共有9把钥匙和3台机器,因此,每台机器应关联3把钥匙。
以下是所需的数据帧:
key machine allocated
1 1
2 1
3 1
..........
90 3
91 1
92 1
93 1
我们可以使用groupby吗?您可以使用arange的楼层划分:
df = pd.DataFrame({'key' : range(1, 10)})
N = 3
N1 = len(df.index) / N
df['machine allocated'] = ((np.arange(len(df.index)) // N1) + 1).astype(int)
print (df)
key machine allocated
0 1 1
1 2 1
2 3 1
3 4 2
4 5 2
5 6 2
6 7 3
7 8 3
8 9 3
你有一个熊猫数据框,它有一列,对吗?@Mihai DanielVirna这只是一个测试示例,它可能有多个列,但你写的是row insteadsir,实际上有一个键入错误,我有90个键要平均分布在3台机器上,请检查我是否有93个键和6台机器,它给机器分配为7,密钥=91,92,93,它应该再次恢复到1,2…3,根据我的密钥增加理论,我不在这里。因此,如果N=4
带有df=pd.DataFrame({'key':range(1,10)})
所需的输出是什么?
N = 2
N1 = len(df.index) / N
df['machine allocated'] = ((np.arange(len(df.index)) // N1) + 1).astype(int)
print (df)
key machine allocated
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1
5 6 2
6 7 2
7 8 2
8 9 2