groupby 操作で複数の関数を複数の列に適用することは、データ分析の一般的なタスクです。 Pandas は、関数の辞書の使用や、複数の系列を返すカスタム関数の適用など、このタスクを実行するためのメソッドをいくつか提供しています。
Series の groupby オブジェクトの場合、次のように適用できます。出力列名をキーとしてディクショナリを使用する複数の関数:
group = pd.groupby("column")
group['column'].agg({'func1': np.mean, 'func2': np.std})
ただし、このメソッドは DataFrame では使用できません
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 サイトの他の関連記事を参照してください。