在Pandas中,如何按组中项目下一次迭代出现的顺序创建列

2024-05-18 10:53:38 发布

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

在Pandas中,如何按组中项目下一次迭代出现的顺序创建列

我有以下数据:

import io
df = pd.read_csv(io.StringIO("""Name,Team\nWill,DEN\nMark,SEA\nBob,MIA\nWill,DEN\nWill,DEN\nMark,SEA\nWill,DEN\nWill,DEN\nBob,MIA\nMark,SEA\n"""))
df

   Name Team
0  Will  DEN
1  Mark  SEA
2   Bob  MIA
3  Will  DEN
4  Will  DEN
5  Mark  SEA
6  Will  DEN
7  Will  DEN
8   Bob  MIA
9  Mark  SEA

我试图得到每个名字或团队出现的顺序,如下所示:

   Name Team  Sequence
0  Will  DEN         1
1  Mark  SEA         1
2   Bob  MIA         1
3  Will  DEN         2
4  Will  DEN         3
5  Mark  SEA         2
6  Will  DEN         4
7  Will  DEN         5
8   Bob  MIA         2
9  Mark  SEA         3

我尝试了cummin,但这只是为每个名称提供了一个唯一的索引(这对其他事情很有用,但对本任务没有帮助):

df.reset_index().groupby('Name')['index'].cummin()

0    0
1    1
2    2
3    0
4    0
5    1
6    0
7    0
8    2
9    1

所以我被卡住了,我在问是否有人有办法完成这项任务


Tags: nameiodf顺序willteambobmark