ホームページ >バックエンド開発 >Python チュートリアル >Pandas を使用して DataFrame 行をグループ化し、値のリストを作成する方法
Pandas Groupby を使用してデータフレーム行をグループ化されたリストに変換する方法
問題:
複数の列を持つ DataFrame の場合、目的は特定の列に基づいて行をグループ化することです(最初の列など) の値を収集し、別の列 (2 番目の列など) から各グループ内のリストに値を収集します。例:
元のデータフレーム:
a | b |
---|---|
A | 1 |
A | 2 |
B | 5 |
B | 5 |
B | 4 |
C | 6 |
望ましい結果:
a | new |
---|---|
A | [1, 2] |
B | [5, 5, 4] |
C | [6] |
解決策:
これを達成するにはその結果、パンダの groupby 関数を apply() メソッドとともに利用して、各グループをlist.
import pandas as pd # Create a DataFrame df = pd.DataFrame({'a': ['A', 'A', 'B', 'B', 'B', 'C'], 'b': [1, 2, 5, 5, 4, 6]}) # Group by the "a" column and create lists of "b" values grouped_list = df.groupby('a')['b'].apply(list) # Reset the index to obtain a DataFrame df1 = grouped_list.reset_index(name='new')
説明:
結果のデータフレーム df1 には、目的のグループ化されたリストが含まれます。リスト:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
以上がPandas を使用して DataFrame 行をグループ化し、値のリストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。