Pandas でグループ化されたデータフレームに列を追加する方法
データ分析では、多くの場合、データをグループ化し、計算を実行する必要があります。各グループ。 Pandas は、groupby 関数を通じてこれを行う便利な方法を提供します。一般的なタスクの 1 つは、各グループ内の列の値をカウントし、これらのカウントを含む列をデータフレームに追加することです。
データフレーム df:
df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
各 c の type の値をカウントするには、グループ化されたデータフレームで value_counts 関数を使用できます。
g = df.groupby('c')['type'].value_counts().reset_index(name='t')
これにより、グループ数を含む新しいデータフレーム g が作成されます。各グループのサイズを示す列を g に追加するには、変換関数:
g['size'] = df.groupby('c')['type'].transform('size')
transform は、元のデータフレームの各グループに関数を適用し、元のデータフレームに合わせたインデックスを持つ Series を返します。この場合、size 関数を使用して各グループ内の要素の数をカウントし、それを新しい列サイズに割り当てます。結果のデータフレーム g は次のようになります:
c type t size
0 1 m 1 3
1 1 n 1 3
2 1 o 1 3
3 2 m 2 4
4 2 n 2 4
これは、groupby 集計の結果に基づいて、グループ化されたデータフレームに新しい列を追加する簡単な方法を示しています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3