基于两个条件的列中的总和值

时间:2019-05-16 12:56:58

标签: python pandas if-statement sum

我有这个数据框:

data = pd.DataFrame({
    'Date': ['2000-01','2000-01', '2000-01','2000-02','2000-03', '2000-03', '2099-01'],
    'Value': [10, 30, 2, 3, 40, 50, 999],
    'Name': ['Peter', 'Peter', 'Jessica','Jessica', 'Will', 'Will', 'Peter']
    })


      Date  Value     Name
0  2000-01     10    Peter
1  2000-01     30    Peter
2  2000-01      2  Jessica
3  2000-02      3  Jessica
4  2000-02     40     Will
5  2000-03     50     Will
6  2099-01    999    Peter

我想基于ValueDateName中的值求和,以使结果在下面。在这里您可以看到,对于Peter和日期2000-01,有两个值1030,它们的总和是40,因此添加到Sum的第一行中。相反,Jessica每月只有一个值(可以在2000-012000-02中看到,值分别为23),使得这两个值行将不相加。

      Date  Value     Name  Sum
0  2000-01     10    Peter   40
1  2000-01     30    Peter   40
2  2000-01      2  Jessica    2
3  2000-02      3  Jessica    3
4  2000-02     40     Will   40
5  2000-03     50     Will   50
6  2099-01    999    Peter  999

如何根据上述两个条件对值求和?我只知道pd.pivot_table(),但这会根据一列中的唯一值向右下方添加新列。

0 个答案:

没有答案