首頁 > 後端開發 > Python教學 > 如何在 Python 中按列對 DataFrame 進行分組並將其轉換為列表字典?

如何在 Python 中按列對 DataFrame 進行分組並將其轉換為列表字典?

Barbara Streisand
發布: 2024-10-29 10:34:02
原創
197 人瀏覽過

How to Group a DataFrame by a Column and Convert It to a Dictionary of Lists in Python?

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()

將資料轉換為想要的字典格式,請依照以下步驟操作:

  1. 使用pandas.read_excel() 將Excel 檔案讀入DataFrame。
  2. 使用 groupby() 以 Column1 將 DataFrame 分組。
  3. 從Column3中提取值並將列表應用於每個群組以將它們轉換為列表。
  4. 使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板