Сгруппируйте и найдите разницу от минимального значения группы: Панды - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть группа, подобная следующей, как я могу узнать разницу каждого наблюдения с минимальным значением группы

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 голосов
/ 18 февраля 2019

Я думаю, вам нужно 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...