按 Excel 结果分组到列表字典
您有一个 Excel 电子表格,其中的数据组织为三列:Column1、Column2 和 Column3。您想要提取此数据并按 Column1 对其进行分组,以便 Column1 中的每个唯一值对应于 Column3 中的值列表。
代码:
您已经已尝试在 Column1 上使用 groupby() 函数,但输出包含索引而不是 Column3 中的实际值。要纠正此问题,您需要指定要分组的列以及要提取的列:
<code class="python">df = pandas.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols=['Column1', 'Column3']) result = df.groupby('Column1')['Column3'].apply(list).to_dict()</code>
说明:
替代代码:
另一种方式要达到相同的结果,请使用字典理解:
<code class="python">result = {k: list(v) for k, v in df.groupby('Column1')['Column3']}</code>
输出:
两个代码片段都会产生所需的输出:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
以上是如何在 Python 中按列对 Excel 数据进行分组并创建列表字典?的详细内容。更多信息请关注PHP中文网其他相关文章!