相关疑难解决方法(0)

pandas:GroupBy .pipe()vs .apply()

在关于GroupBy对象的新方法的pandas文档的示例中.pipe(),.apply()接受相同lambda 的方法将返回相同的结果.

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
Run Code Online (Sandbox Code Playgroud)

我可以看到pipe功能与applyDataFrame对象的不同之处,但不适用于GroupBy对象.有没有人对GroupBy 有什么解释或示例,pipe但没有apply

python python-3.x pandas pandas-groupby

14
推荐指数
1
解决办法
5061
查看次数

标签 统计

pandas ×1

pandas-groupby ×1

python ×1

python-3.x ×1