熊猫汇总两列的总和,并将其作为一列

我正在寻找分组依据的解决方案,然后在pandas数据框中找到两列的总和并显示为一列。

每行的“净值”和“总值”列之和,并添加新列“总计”作为两者的总和。

样本数据集如下

    Name  state    Net  Gross
    A1    TN       100     60
    A2    AP       200     40
    A3    KAR      300     -10 
    A1    TN       10      60
    A2    AP       20      40
    A3    KAR      10     -10 

预期产量

    Name  state    Total Amount
    A1    TN       230     
    A2    AP       300     
    A3    KAR      290      

我尝试了以下两个步骤,如下所示

df2 = df1.groupby(['Name','State',]).agg({'Net': 'sum','Gross':'sum'})
df2['Total Amount'] = df2['Net'] + df2['Gross']

有一种方法可以一步完成。谢谢。

beijiao_1608 回答:熊猫汇总两列的总和,并将其作为一列

第一步,我们可以首先melt

df.melt(['Name','state']).groupby(['Name','state']).value.sum().reset_index()
Out[56]: 
  Name state  value
0   A1    TN    230
1   A2    AP    300
2   A3   KAR    290
本文链接:https://www.f2er.com/3076720.html

大家都在问