ホームページ > バックエンド開発 > Python チュートリアル > Pandas の複数の Groupby 列に複数の関数を適用する方法

Pandas の複数の Groupby 列に複数の関数を適用する方法

Patricia Arquette
リリース: 2024-12-30 05:28:09
オリジナル
370 人が閲覧しました

How to Apply Multiple Functions to Multiple Groupby Columns in Pandas?

複数の Groupby 列に複数の関数を適用する

概要

groupby 操作で複数の関数を複数の列に適用することは、データ分析の一般的なタスクです。 Pandas は、関数の辞書の使用や、複数の系列を返すカスタム関数の適用など、このタスクを実行するためのメソッドをいくつか提供しています。

関数の辞書の使用

Series の groupby オブジェクトの場合、次のように適用できます。出力列名をキーとしてディクショナリを使用する複数の関数:

group = pd.groupby("column")
ログイン後にコピー
group['column'].agg({'func1': np.mean, 'func2': np.std})
ログイン後にコピー

ただし、このメソッドは DataFrame では使用できません

apply の使用

apply メソッドを使用すると、グループ データに対して複数の計算を実行するカスタム関数を適用できます。この関数は、インデックスを使用して新しい列にラベルを付け、結果を含むシリーズを返す必要があります。

def func(group_data):
    return pd.Series({
        'func1': group_data['column1'].mean(),
        'func2': group_data['column2'].std(),
    })

group.apply(func)
ログイン後にコピー

カスタム集計関数の使用

利点を活用するカスタム集計関数を定義することもできます。 apply メソッドに渡される DataFrame の:

def agg_func(group_data):
    return group_data.agg({'column1': np.mean, 'column2': np.std})

group.agg(agg_func)
ログイン後にコピー

の処理依存関係

groupby オブジェクト内の他の列に依存する関数の場合、ix メソッドを使用してそれらの列にアクセスできます。ただし、このメソッドは非推奨であるため、loc に置き換える必要があることに注意してください。

def func(group_data):
    return group_data.mean().ix['column1']
ログイン後にコピー

結論

パンダの groupby オブジェクトで複雑な集計を実行するには、複雑さに応じてさまざまな方法を使用できます。適用される関数の依存関係。 apply メソッドを活用するかカスタム集計関数を作成することで、これらの操作を効率的に実行し、結果を 1 つの DataFrame に結合できます。

以上がPandas の複数の Groupby 列に複数の関数を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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