適用と変換: Pandas Groupby ではどちらをいつ使用する必要がありますか?

Susan Sarandon
リリース: 2024-11-11 10:20:03
オリジナル
358 人が閲覧しました

 Apply vs. Transform: When Should You Use Which in Pandas Groupby?

Apply または Transform を使用する必要がありますか?

概要:

Pandas groupby() メソッドには、特定の列でグループ化されたデータを操作するための 2 つのオプション (apply() と transform()) が用意されています。これらのメソッドは、入力、出力、動作の点で異なります。

主な違い:

Apply
機能Transform
Feature Apply Transform
Input: Passes DataFrame containing all columns for each group Passes individual Series for each column in each group
Output: Can return scalars, Series, DataFrames, or other objects Must return a sequence (Series, array, or list) with the same length as the group
Behavior: Operates on the entire DataFrame within each group Operates on a single column at a time
Input:

を含む DataFrame を渡します各グループのすべての列 各グループの各列の個別の系列を渡します
出力: スカラー、シリーズ、データフレーム、またはその他のオブジェクトを返すことができます。 グループと同じ長さのシーケンス (シリーズ、配列、またはリスト) を返す必要があります
動作:
    各グループ内のデータフレーム全体を操作します 一度に 1 つの列を操作します
  • Apply を使用する場合:
  • 各グループ内の DataFrame 全体にカスタム関数を適用する必要がある場合。これにより、複雑な行単位の処理が可能になり、入力と同じ行数の DataFrame が返されます。

    df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))
    ログイン後にコピー

    例:

    • Transform を使用する場合:

    各グループ内で列ごとにカスタム関数を適用する必要がある場合。これにより、特定の列を操作できます。 DataFrame 全体には影響しません。

    df.groupby('State').transform(lambda x: x - x.mean())
    ログイン後にコピー

    例:

    • 追加メモ:
    • 変換メソッドは、グループと同じ長さのシーケンスを返さなければなりません。そうしないと、エラーが発生します。
    変換関数から単一のスカラーを返すと、そのスカラーがグループ内の各行に適用されます。何を扱っているかを理解するために、カスタム関数で渡されたオブジェクトを印刷または表示すると役立つ場合があります。

    以上が適用と変換: Pandas Groupby ではどちらをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

  • ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    著者別の最新記事
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート