Python 使用cumsum在大熊猫中分组

Python 使用cumsum在大熊猫中分组,python,pandas,Python,Pandas,一个快速的,但我有点困在这个。我有一个包含3个类的数据帧:0、1、2。其思想是使用groupby计算每个类的累计总和,尽管可能还有其他方法 这是我的df: | classes | | 1 | | 0 | | 1 | | 2 | | 1 | | 2 | | 0 | | 0 | 我希望看到的“ID”列: | classes | ID | | 1 | 1 | | 0 | 1 |

一个快速的,但我有点困在这个。我有一个包含3个类的数据帧:0、1、2。其思想是使用groupby计算每个类的累计总和,尽管可能还有其他方法

这是我的df:

| classes |
|    1    |
|    0    |
|    1    |
|    2    |
|    1    |
|    2    |
|    0    |
|    0    |
我希望看到的“ID”列:

| classes | ID |
|    1    | 1  |
|    0    | 1  |
|    1    | 2  |
|    2    | 1  |
|    1    | 3  |
|    2    | 2  |
|    0    | 2  |
|    0    | 3  |
....etc...

有什么想法吗?

您需要在此处使用cumcount,而不是cumsum:)

你在找我相信:

df["ID"] = df.groupby("classes").cumcount() + 1
得到

    classes   ID
0          1   1
1          0   1
2          1   2
3          2   1
4          1   3
5          2   2
6          0   2
7          0   3
    classes   ID
0          1   1
1          0   1
2          1   2
3          2   1
4          1   3
5          2   2
6          0   2
7          0   3