分组并发现与分组最小值之间的差异:熊猫

时间:2019-02-18 08:07:00

标签: python pandas group-by

我有一个像下面这样的组,我怎么知道每个观察值与组最小值的差异

GROUP VALUE
 1     5
 2     2
 1     10
 2     20
 1     7

所以,我想要的输出应该是

GROUP VALUE diff
 1     5    3
 2     2    0
 1     10   5
 2     20  18
 1     7    5

我如何在熊猫的帮助下实现这一目标

感谢所有帮助

1 个答案:

答案 0 :(得分:3)

我认为您需要GroupBy.transform加上减号:

df['diff'] = df['VALUE'] - df.groupby('GROUP')['VALUE'].transform('min')
print (df)
   GROUP  VALUE  diff
0      1      5     0
1      2      2     0
2      1     10     5
3      2     20    18
4      1      7     2
相关问题