ホームページ  >  記事  >  バックエンド開発  >  Pandas で Groupby 操作後にグループ化されたデータフレームに列を追加する方法

Pandas で Groupby 操作後にグループ化されたデータフレームに列を追加する方法

DDD
DDDオリジナル
2024-10-19 12:02:30973ブラウズ

How to Add a Column to a Grouped DataFrame After Groupby Operations in Pandas?

パンダの Grouped DataFrame に列を追加

パンダで GroupBy 操作を使用する場合、結果の結果に追加情報を追加すると有益な場合があります。データフレーム。この記事では、groupby 集計の実行後にグループ化されたデータフレームに列を効率的に追加する方法に関する質問について説明します。

次のデータフレームについて考えます。

df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})

目標は、 「c」の値ごとに「type」列を作成し、各「c」グループの「サイズ」を表す新しい列をグループ化されたデータフレームに追加します。 groupby 集計を実行した後:

g = df.groupby('c')['type'].value_counts().reset_index(name='t')

データフレーム 'g' には、各 'c' の 'type' のカウントが含まれるようになります:

   c type  t
0  1    m  1
1  1    n  1
2  1    o  1
3  2    m  2
4  2    n  2

'size' 列を追加するには1 つのオプションは、map 関数を使用することです:

a.index = a['c']
g['size'] = g['c'].map(a['size'])

ただし、transform 関数を使用するより簡単なアプローチがあります:

g['size'] = df.groupby('c')['type'].transform('size')

transform を使用すると、サイズ列を追加できます。 「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

以上がPandas で Groupby 操作後にグループ化されたデータフレームに列を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。