У меня есть кадр данных в пандах, содержащий информацию, которую я хотел бы сортировать по группам. Из каждой группы я хочу затем вычесть первое значение для определенного столбца из всего столбца в этой группе. Значения затем должны быть добавлены в блок данных как дополнительный столбец. Пример моего первоначального dataframe:Вычитание групповых значений из каждой группы
time sample x y mass
3 1.0 216 12 12
4 1.0 218 13 12
5 1.0 217 12 12
6 1.0 234 13 13
1 2.0 361 289 23
2 2.0 362 287 22
3 2.0 362 286 22
5 3.0 124 56 18
6 3.0 126 52 17
Что я хотел бы иметь в результате:
sample time x y mass xdiff
1.0 3 216 12 12 0
1.0 4 218 13 12 2
1.0 5 217 12 12 1
1.0 6 214 13 13 -2
2.0 1 361 289 23 0
2.0 2 362 287 22 1
2.0 3 362 286 22 1
3.0 5 124 56 18 0
3.0 6 126 52 17 2
До сих пор я могу только выяснить, шт:
s = df.groupby('sample')
#gives me the groups
s["x"].nth(0)
#gets the first x value of each group
Я m просто не уверен, как вычесть первое значение x для каждой группы образцов из всех значений x в этой группе образцов. Кто-нибудь знает, как это можно сделать? Благодаря!
спасибо! Чтобы понять это правильно - это три разных способа решения проблемы? Я понимаю третье решение, это было похоже на то, что я пытаюсь понять. – UserR6
Точно, это 3 разных решения с одинаковым выходом. – jezrael