我有一个数据框:
df = pd.DataFrame({'a':[1,2,3,4,5,6,7,8,9,10],'b':[100,100,100,100,100,100,100,100,100,100]})
a b
0 1 100
1 2 100
2 3 100
3 4 100
4 5 100
5 6 100
6 7 100
7 8 100
8 9 100
9 10 100
我想创建一列c
,以便为3行的每个块分配一个值。
我正在寻找的输出:
a b c
0 1 100 1
1 2 100 1
2 3 100 1
3 4 100 2
4 5 100 2
5 6 100 2
6 7 100 3
7 8 100 3
8 9 100 3
9 10 100 4
我尝试遍历数据框,然后使用.loc分配列值。
是否有更好/快速的方法?
答案 0 :(得分:1)
如果索引是RangeIndex,则可以使用它为c列创建值:
df['c'] = df.index // 3 + 1