Pandas 按行分组数据帧并比较值
我有两个数据帧。Pandas 按行分组数据帧并比较值,pandas,dataframe,pandas-groupby,Pandas,Dataframe,Pandas Groupby,我有两个数据帧。 旧的\u结果= 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 新结果= d
旧的\u结果
=
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
新结果
=
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
- 注意:不保证此数据帧中的顺序,并且数据帧中存在重复值
diff
的new_results
数据框中添加一列,用于比较给定日期/位置组合的新旧值。因此,最终结果应该如下所示:
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
创建数据帧组,但我不知道如何比较groupby,并使用结果修改初始数据帧。new_result['diff']=new_result['value']-old_results['value']
没有顺序保证,这仍然有效吗?(更新问题以反映这一点)new_result['diff']=new_result['value']-old_results['value']
无法保证顺序,这仍然有效吗?(更新问题以反映这一点)