首页 >后端开发 >Python教程 >如何在 Python 中按列对 Excel 数据进行分组并创建列表字典?

如何在 Python 中按列对 Excel 数据进行分组并创建列表字典?

Susan Sarandon
Susan Sarandon原创
2024-10-30 03:17:02578浏览

How to Group Excel Data by Column and Create a Dictionary of Lists in Python?

按 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>

说明:

  • groupby () 按 Column1 中的值对数据进行分组。
  • apply(list) 将列表函数应用于每个子组,将 Column3 中的值转换为列表。
  • to_dict() 将分组的值转换为列表将数据放入字典中,其中键是 Column1 中的值,值是 Column3 中的值列表。

替代代码:

另一种方式要达到相同的结果,请使用字典理解:

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn