ホームページ >バックエンド開発 >Python チュートリアル >GroupBy DataFrames で Pandas Transform を使用して列を追加する方法

GroupBy DataFrames で Pandas Transform を使用して列を追加する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-19 11:52:011062ブラウズ

How to Add a Column Using Pandas Transform in GroupBy DataFrames?

Pandas Transform を使用して GroupBy データフレームに列を追加する

パンダで groupby 操作を使用する場合、新しい列を結果のデータフレーム。これを実現する 1 つの方法は、例で示すように .map() 関数を使用することです。ただし、代わりのより簡単なアプローチは、.transform() 関数を使用することです。

.transform() を使用すると、データフレーム内の各グループに関数を適用し、その結果を含むシリーズを返すことができます。返されたシリーズには、元のデータフレームと一致するインデックスが含まれます。

説明のために、提供されたデータフレームから始めましょう:

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

私たちの目標は、各 c の type の値をカウントすることです。 c のサイズの列を追加します。

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

このコードは、各グループの値をカウントし、t という名前の新しい列を作成します。

サイズ列を追加するには、.transform(

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

.transform('size') は、サイズ関数を各グループに適用し、各グループのサイズを返します。結果のシリーズは、元のデータフレームのインデックスと位置合わせされ、新しい列として g に追加できるようになります。

出力は、size:

   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
という名前の追加列を持つデータフレームになります。

.transform() を使用すると、groupby 集計から元のデータフレームに列を追加し直すためのより簡潔で簡単な方法が提供されます。

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

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