パンダの 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 サイトの他の関連記事を参照してください。