按行分组数据框并比较值

时间:2019-11-12 00:27:41

标签: pandas dataframe pandas-groupby

我有两个数据框。 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,并使用结果修改初始数据框。

0 个答案:

没有答案