我有一个类似以下的分组,如何知道每个观测值与它所在组的最小值之间的差异:
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
如何借助pandas实现这一目标?
感谢所有的帮助。
我认为你需要使用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