概要:
Pandas groupby() メソッドには、特定の列でグループ化されたデータを操作するための 2 つのオプション (apply() と transform()) が用意されています。これらのメソッドは、入力、出力、動作の点で異なります。
主な違い:
機能 | ApplyTransform | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
を含む DataFrame を渡します各グループのすべての列 | 各グループの各列の個別の系列を渡します | ||||||||||||
出力: | スカラー、シリーズ、データフレーム、またはその他のオブジェクトを返すことができます。 | グループと同じ長さのシーケンス (シリーズ、配列、またはリスト) を返す必要があります | ||||||||||||
動作: |
各グループ内のデータフレーム全体を操作します | 一度に 1 つの列を操作します |
各グループ内の DataFrame 全体にカスタム関数を適用する必要がある場合。これにより、複雑な行単位の処理が可能になり、入力と同じ行数の DataFrame が返されます。
df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))
例:
各グループ内で列ごとにカスタム関数を適用する必要がある場合。これにより、特定の列を操作できます。 DataFrame 全体には影響しません。
df.groupby('State').transform(lambda x: x - x.mean())
例:
以上が適用と変換: Pandas Groupby ではどちらをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。