pandas: GroupBy .pipe () vs .apply ()
No exemplo dodocumentação dos pandas sobre o novo.pipe()
método para objetos GroupBy, um.apply()
O método que aceita o mesmo lambda retornaria os mesmos resultados.
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
Eu posso ver como opipe
funcionalidade difere deapply
para objetos DataFrame, mas não para objetos GroupBy. Alguém tem uma explicação ou exemplos do que pode ser feito compipe
mas não comapply
para um GroupBy?