GroupBy 並將DataFrame 轉換為列表字典
給定一個包含結構化資料的Excel 文件,目標是提取數據,對其進行分組按特定列,並將其儲存在Python 字典中,並以列表作為值。 Excel表格中的資料格式為:
Column1 | Column2 | Column3 |
---|---|---|
0 | 23 | 1 |
1 | 5 | 2 |
1 | 2 | 3 |
1 | 19 | 5 |
2 | 56 | 1 |
2 | 22 | 2 |
3 | 2 | 4 |
3 | 14 | 5 |
4 | 59 | 1 |
5 | 44 | 1 |
5 | 1 | 2 |
5 | 87 | 3 |
解1:groupby.apply().to_dict()
將資料轉換為想要的字典格式,請依照以下步驟操作:
<code class="python">import pandas as pd excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols='A,C') result = excel.groupby('Column1')['Column3'].apply(list).to_dict() print(result)</code>
解2:字典理解
或者,您可以使用字典理解來獲得相同的結果:
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']} print(result)</code>
兩種解的輸出皆為:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
以上是如何在 Python 中按列對 DataFrame 進行分組並將其轉換為列表字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!