【发布时间】:2026-01-01 15:00:01
【问题描述】:
我一直在寻找一种使用 pandas 库将具有多个标题的 Excel 文件转换为列标题的方法。
通过读取文件并使用 ExcelFile 解析它,我已成功将数据导入数据框。我还能够使用 header=[0, 4] 来识别标题。我遇到问题的地方是重新索引和/或使用 melt 函数将标题转换为列。
当我使用 melt 功能时,我能够成功地将列转换为行。但是,我希望标题是单列,而不是与其余数据堆叠在一起。
目前,数据的结构是这样的:
Excel file displaying data with multiple headers
转换后的数据应该是这样的:
Data that is unpivot with headers converted into columns
我一直在阅读有关索引的内容,但不确定我是否理解它在此处的应用方式。
我是 python 新手,非常新,非常感谢任何支持或指导。我一直在阅读以下备忘单,但没有找到正确的转换方法:
https://www.datacamp.com/community/data-science-cheatsheets
这是一个示例代码:
import pandas as pd
xl = pd.ExcelFile('help.xlsx')
df1 = xl.parse('Sheet1')
df2 = pd.melt(df1,
id_vars=['PW'],
value_vars=['Fruit','Conventional'])
另外,在运行代码后添加结果: df1 the data with multiple headers
以下是数据的错误(标题没有转换成列,标题与其余数据堆叠在一起):
这是最终产品的外观:
【问题讨论】:
-
您是否有任何代码可以显示到目前为止的问题状态?
标签: python excel pandas dataframe