Python 创建一个新列,显示dataframe中项的出现编号
我有一个dataframe,它包含一个如下所示的列Python 创建一个新列,显示dataframe中项的出现编号,python,pandas,Python,Pandas,我有一个dataframe,它包含一个如下所示的列 Name A A B B C 我想在此数据框中附加一列,其中包含名称中项目的出现编号 Name New_Column A 1 A 2 B 1 B 2 C 1 到目前为止,我可以将Name列转换为一个列表,然后在其上循环并创建新的_列,但是有没有更直接的方法直接在pandas中实现这一点 groupby和cumcount cumcounts唯一的目的是分别增加每个组的数量。如果向结果中添加一个并将其
Name
A
A
B
B
C
我想在此数据框中附加一列,其中包含名称中项目的出现编号
Name New_Column
A 1
A 2
B 1
B 2
C 1
到目前为止,我可以将Name列转换为一个列表,然后在其上循环并创建新的_列,但是有没有更直接的方法直接在pandas中实现这一点 groupby
和cumcount
cumcount
s唯一的目的是分别增加每个组的数量。如果向结果中添加一个并将其指定为新列:
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
df.assign(New_Column=df.groupby('Name').cumcount()+1)
查找dup.thank@piRSquared,它可以工作,如果您愿意,您可以留下答案,我可以将其标记为acceptedThx@Jason我知道这是一个重复的问题。我要找到它,并把它标记成这样。这是我们无论如何应该做的事(-:如果我找到它,我会关上它。