我有一个数据框,其中包含一个看起来像这样的列
Name
A
A
B
B
C
我想在此数据框中添加一列,其中包含“名称”中项目的出现编号
Name New_Column
A 1
A 2
B 1
B 2
C 1
到目前为止,我可以将“名称”列转换为列表,然后在其上循环并创建new_column,但是有没有更直接的方法可以直接在熊猫中执行此操作?
答案 0 :(得分:4)
groupby
和cumcount
cumcount
的唯一目的是分别增加每个组。如果将一个添加到结果并将其分配为新列:
df.assign(New_Column=df.groupby('Name').cumcount() + 1)
Name New_Column
0 A 1
1 A 2
2 B 1
3 B 2
4 C 1