не знает о других группах.
мере издокументация панд о новом.pipe()
метод для объектов GroupBy,.apply()
метод, принимающий ту же самую лямбду, возвратил бы те же самые результаты.
In [195]: import numpy as np
In [196]: n = 1000
In ,[197]: df = pd.DataFrame({'Store': np.random.choice(['Store_1', 'Store_2'], n),
.....: 'Product': np.random.choice(['Product_1', 'Product_2', 'Product_3'], n),
.....: 'Revenue': (np.random.random(n)*50+10).round(2),
.....: 'Quantity': np.random.randint(1, 10, size=n)})
In [199]: (df.groupby(['Store', 'Product'])
.....: .pipe(lambda grp: grp.Revenue.sum()/grp.Quantity.sum())
.....: .unstack().round(2))
Out[199]:
Product Product_1 Product_2 Product_3
Store
Store_1 6.93 6.82 7.15
Store_2 6.69 6.64 6.77
Я вижу, какpipe
функциональность отличается отapply
для объектов DataFrame, но не для объектов GroupBy. У кого-нибудь есть объяснение или примеры того, что можно сделать сpipe
но не сapply
для группы?