创建一个新列,显示datafram中项的出现编号

2024-04-23 14:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,它包含一个如下所示的列

Name 
A
A
B
B
C

我想在这个数据框中添加一列,其中包含名称中项目的出现编号

Name  New_Column
A     1
A     2
B     1
B     2
C     1

到目前为止,我只需将Name列转换为一个列表,然后循环遍历它并创建新的\u列,但是有没有更直接的方法直接在pandas中实现这一点?你知道吗


Tags: 数据项目方法name名称pandas列表new
1条回答
网友
1楼 · 发布于 2024-04-23 14:48:26

groupbycumcount

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

相关问题 更多 >