將GroupBy 結果轉換為列表字典
為了從Excel 工作表中提取資料並對其進行分組,通常使用groupby pandas庫的功能。然而,當所需的輸出是一個字典,其中鍵對應於組值並且值是對應元素的列表時,傳統方法可能不夠。
為了實現這個特定要求,一個解決方案是利用 apply 和to_dict 函數。 apply 函數允許將函數套用到每個群組,在本例中,將 Column3 轉換為列表。然後 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()</code>
此程式碼將產生所需的輸出:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
或者,更緊湊的解決方案是使用字典理解:
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}</code>
這種方法也能產生相同的期望輸出,提供簡潔而有效率的實作。
以上是如何將 Pandas GroupBy 結果轉換為列表字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!