GroupByオブジェクトの新しい.pipe()
メソッドに関するpandas documentationの例では、同じラムダを受け入れる.apply()
メソッドは同じ結果を返します。pandas:GroupBy .pipe()vs .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
機能は、データフレームのオブジェクトのためではなく、GROUPBYオブジェクトのapply
とどのように異なるかを見ることができます。誰でも、pipe
でできることの説明や例はありますか?GroupByの場合はapply
ではありませんか?