【发布时间】:2020-08-27 17:19:09
【问题描述】:
我在 pandas 中有一个巨大的数据框,格式如下:
period from_ to_ value
2020-07 Jonny Karl 15.00
2020-08 Matt Jonny 5.00
2020-08 Matt Karl 5.00
2020-08 Matt Karl 10.00
2020-08 Jonny Matt 10.00
如果我有一个人的价值,需要在一年中的某个时间段内向另一个人付款。这些人的名字在数据集中重复出现。
所以我想查看一年中一个人对另一个人的价值。为此,我可以简单地使用:
sum_df = df.groupby([ "period", "from_", "to_"]).agg({"value": 'sum'})
但这就是我的问题所在,因为我正在尝试找出一种执行方式来执行此聚合函数,它可以“识别”:
如果person A 欠person B 5 美元。和person B 欠person A 10 美元。它应该将 person B 在该期间的欠款 5 美元返还给 person A。产生以下数据框:
period from_ to_ value
2020-07 Jonny Karl 15.00
2020-08 Matt Karl 15.00
2020-08 Jonny Matt 5.00
有人可以给我一个方向,我可以按照它来达到那个目标吗?
【问题讨论】:
标签: python python-3.x pandas pandas-groupby