【问题标题】:Python DataFrame: Cumulative sum and subraction of multiple columns?Python DataFrame:多列的累积和和减法?
【发布时间】:2021-02-26 11:26:50
【问题描述】:

我有一个带有namemarksnegative 的df。我正在尝试进行累积和减去negative 列。

    df

            name        marks       negative    

    0      marcus       20              0          
    1      marcus       30             10  
    2      marcus       0              20                 
    3      paul         10              0          
    4      bruno        50             50           
    5      bruno        20              0          
    6      lucy          0              5          





    Final df

            name        marks       negative    finsum

    0      marcus       20              0          20
    1      marcus       30             10          40           (20+30-10) - (finsum+marks-negative)
    2      marcus       0              20          20       
    3      paul         10              0          10
    4      bruno        50             50           0
    5      bruno        20              0          20
    6      lucy          0              5          -5

我试过cumsum()单行,但是如何用cumsum()进行加减法或者有其他方法吗?

【问题讨论】:

    标签: python python-3.x pandas numpy cumsum


    【解决方案1】:

    使用GroupBy.cumsum:

    df1 = df.groupby('name').cumsum()
    df['fin'] = df1['marks'].sub(df1['negative'])
    
    print (df)
         name  marks  negative  fin
    0  marcus     20         0   20
    1  marcus     30        10   40
    2  marcus      0        20   20
    3    paul     10         0   10
    4   bruno     50        50    0
    5   bruno     20         0   20
    6    lucy      0         5   -5
    

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      相关资源
      最近更新 更多