【问题标题】:GroupBy classes in pandas with cumsum [duplicate]带有cumsum的熊猫中的GroupBy类[重复]
【发布时间】:2021-04-16 21:59:50
【问题描述】:

一个快速的,但我有点坚持这一点。我有一个包含 3 个类的数据框:0、1、2。这个想法是使用可能的 groupby 来计算每个类的 cumsum,尽管可能还有其他方法。

这是我的 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...

有什么想法吗?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你需要在这里使用 cumcount 而不是 cumsum :)

    df['Id'] = (df.groupby('classes').cumcount() +1)
    

    【讨论】:

      【解决方案2】:

      您正在寻找GroupBy.cumcount 我相信:

      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
      

      【讨论】:

        猜你喜欢
        • 2023-04-03
        • 2019-05-01
        • 2019-04-07
        • 1970-01-01
        • 2013-06-03
        • 1970-01-01
        • 2019-10-13
        • 1970-01-01
        • 2020-10-12
        相关资源
        最近更新 更多