【问题标题】:Pandas Cumsum skip rowsPandas Cumsum 跳过行
【发布时间】:2018-11-17 22:59:13
【问题描述】:

我有一个如下的数据框。

idx vals
0   10
1   21
2   12
3   33
4   14
5   55
6   16
7   77

我想执行cumsum(并避免for),但只考虑具有相同idxmod 2 的行。例如,对于第 3 行,我想获得 21+33=54,而对于第 4 行,我想获得 10+12+14 = 36

有什么想法吗?

【问题讨论】:

    标签: python pandas cumsum


    【解决方案1】:

    这里只需要groupby

    df.vals.groupby(df.idx%2).cumsum()
    Out[75]: 
    0     10
    1     21
    2     22
    3     54
    4     36
    5    109
    6     52
    7    186
    Name: vals, dtype: int64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      相关资源
      最近更新 更多