【问题标题】:Pandas cumulative sum depending on other columns valuePandas 累积总和取决于其他列的值
【发布时间】:2021-10-28 07:59:10
【问题描述】:

我有一个这样的数据集

Date        Runner  Group   distance [km]
2021-01-01  Joe     1       7            
2021-01-02  Jack    1       6            
2021-01-03  Jess    1       9            
2021-01-01  Paul    2       11           
2021-01-02  Peter   2       12           
2021-01-02  Sara    3       15           
2021-01-03  Sarah   3       10           
 

我想计算每组跑步者的累积总和。

Date        Runner  Group   distance [km]   cum sum [km]
2021-01-01  Joe     1       7               7
2021-01-02  Jack    1       6               13
2021-01-03  Jess    1       9               22
2021-01-01  Paul    2       11              11
2021-01-02  Peter   2       12              23
2021-01-02  Sara    3       15              15
2021-01-03  Sarah   3       10              25  

不幸的是,我不知道该怎么做,也没有在其他地方找到答案。有人可以给我一个提示吗?

import pandas as pd
import numpy as np

df = pd.DataFrame([['2021-01-01','Joe', 1, 7],
                   ['2021-01-02',"Jack", 1, 6],
                   ['2021-01-03',"Jess", 1, 9],
                   ['2021-01-01',"Paul", 2, 11],
                   ['2021-01-02',"Peter", 2, 12],
                   ['2021-01-02',"Sara", 3, 15],
                   ['2021-01-03',"Sarah", 3, 10]],
                  columns=['Date','Runner', 'Group', 'distance [km]'])

【问题讨论】:

    标签: python pandas cumulative-sum cumsum


    【解决方案1】:

    试试groupbycumsum:

    >>> df['cum sum [km]'] = df.groupby('Group')['distance [km]'].cumsum()
    >>> df
             Date Runner  Group  distance [km]  cum sum [km]
    0  2021-01-01    Joe      1              7             7
    1  2021-01-02   Jack      1              6            13
    2  2021-01-03   Jess      1              9            22
    3  2021-01-01   Paul      2             11            11
    4  2021-01-02  Peter      2             12            23
    5  2021-01-02   Sara      3             15            15
    6  2021-01-03  Sarah      3             10            25
    >>> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-04
      • 2021-06-08
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      相关资源
      最近更新 更多