Мне любопытно, сможем ли мы использовать функцию присвоения после группового в Python.Я не хочу делать это, сохраняя сгруппированные данные и затем используя assign.
Допустим, у нас есть:
import pandas as pd
data=pd.DataFrame({'Group':['A','A','A','B','B','B'],'One':[1,12,4,5,4,3],'Two':[5,3,4,5,2,7,]})
Group One Two
0 A 1 5
1 A 12 3
2 A 4 4
3 B 5 5
4 B 4 2
5 B 3 7
Следующий код не работает, потому что данные, используемые внутриФункция назначения не сгруппирована:
data.groupby('Group').sum().assign(one_two=data['One']/data['Two'])
Ожидаемый результат:
One Two one_two
Group
A 17 12 1.416
B 12 14 0.857
Опять же, я не хочу назначать сгруппированные данные и новый фрейм данных, а затем использоватьназначение.Я хочу сделать это в той же строке кода.