将 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中文网其他相关文章!