如何使用Pandas Groupby 將Dataframe 行轉換為分組列表
問題:
給定具有多列的DataFrame,目標是根據特定列對行進行分組(例如,第一列)並將來自另一列(例如,第二列)的值收集到每個組內的列表中。例如:
原始DataFrame:
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] |
解:
解: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')
解決方案:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]:按“a”列對DataFrame進行分組.應用(列表):適用list() 函數到每個組,將“b”值轉換為列表。 reset_index(name='new'):重設索引並指派新欄位名稱「new」 " 到分組清單。產生的DataFrame df1將包含所需的分組清單:
以上是如何使用 Pandas 對 DataFrame 行進行分組並建立值清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!