Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建一个新列,显示dataframe中项的出现编号_Python_Pandas - Fatal编程技术网

Python 创建一个新列,显示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唯一的目的是分别增加每个组的数量。如果向结果中添加一个并将其

我有一个dataframe,它包含一个如下所示的列

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我知道这是一个重复的问题。我要找到它,并把它标记成这样。这是我们无论如何应该做的事(-:如果我找到它,我会关上它。