我有一个像下面这样的组,我怎么知道每个观察值与组最小值的差异
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
我如何在熊猫的帮助下实现这一目标
感谢所有帮助
答案 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