我有两个数据框。
old_results
=
date | location | value | trial_number
----------+----------+-------+-------------
1-1-2001 | USA | 3 | 10
1-2-2001 | USA | 4 | 20
1-1-2001 | China | 1 | 30
1-2-2001 | China | 2 | 40
new_results
=
date | location | value |trial_number
----------+----------+-------+-------------
1-1-2001 | China | 10 | 1
1-2-2001 | China | 100 | 2
1-1-2001 | USA | 1000 | 3
1-2-2001 | USA | 10000 | 4
1-1-2001 | USA | 5 | 5
1-2-2001 | USA | 50 | 6
我想在new_results
数据框中添加一列,称为diff
,该列比较给定日期/位置组合的旧值和新值。因此最终结果应如下所示:
date | location | value | diff | trial_number
----------+----------+-------+---------------------+-------------
1-1-2001 | China | 10 | 9 # 10 - 1 | 1
1-2-2001 | China | 100 | 98 # 100 - 2 | 2
1-1-2001 | USA | 1000 | 997 # 1000 - 3 | 3
1-2-2001 | USA | 10000 | 9996 # 1000 - 4 | 4
1-1-2001 | USA | 1000 | 2 # 5 - 3 | 5
1-2-2001 | USA | 10000 | 46 # 50 - 4 | 6
我知道如何使用groupby
创建数据框组,但是我不知道如何比较groupbys,并使用结果修改初始数据框。