ホームページ >バックエンド開発 >Python チュートリアル >Pandas Groupby を使用して DataFrame 行をリストにグループ化するにはどうすればよいですか?
Pandas GroupBy で DataFrame 行をリストにグループ化する
多くのデータセットには、行全体にわたる冗長な情報が含まれています。意味のある洞察を抽出するには、多くの場合、共通の属性に基づいて行をグループ化する必要があります。これにより、各グループ内のデータの集約と操作が可能になります。この記事では、Pandas groupby でデータフレームの行をリストにグループ化する方法について説明します。
2 つの列 'a' と 'b' を持つデータフレームを考えます:
a b A 1 A 2 B 5 B 5 B 4 C 6
目標は、行を最初の列 ('a') でグループ化し、そのリストを作成することです。各グループの 2 列目 (「b」) の値。望ましい出力は次のとおりです:
A [1,2] B [5,5,4] C [6]
これを実現するには、Pandas の groupby 関数と apply 関数を使用します。 groupby 関数は指定された列ごとに行をグループ化し、apply 関数を使用すると各グループに対して操作を実行できます。この場合、list 関数を適用して各グループの値のリストを作成します。
df.groupby('a')['b'].apply(list)
このコードは、各グループの値のリストを含む Series オブジェクトを返します。
a A [1, 2] B [5, 5, 4] C [6] Name: b, dtype: object
グループ化されたリストを含む新しいデータフレームを作成するには、reset_index 関数を使用して系列を変換します。オブジェクトを新しいデータフレームに追加し、リストを含む列の名前を変更します:
df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
結果のデータフレームは次のようになります:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
以上がPandas Groupby を使用して DataFrame 行をリストにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。