質問: pd.DataFrame(dummy) print(df) ↓ id grp_key 0 101 aa 1 102 aa 2 103 bb 3 104 cc 4 105 aa def func(_df): print(_df) df.groupby('grp_key').apply(func) ``` 上記コードを実行したとき、 funcメソッドの中のprintでは以下のように出力されます。 【1回目】 id grp_key 0 101 aa 1 102 aa 4 105 aa 【2回目】 id grp_key 0 101 aa 1 102 aa 4 105 aa 【3回目】 id grp_key 2 103 bb 【4回目】 id grp_key 3 104 cc `df.groupby('grp_key').groups`のDataFrame配列分?の要素がapplyのメソッドに渡されてくることを期待していましたが、 誤りがありますか? ご教示お願い致します。
回答: 最初のグループに対して、apply で適用する関数が2回呼ばれるのは pandas の仕様です。 バグではありません。 The apply method over a group seems to visit the first group twice · Issue #2656 · pandas-dev/pandas · GitHub