使用Pandas读取Excel未达预期输出,请求技术指导
Pandas stack()/unstack() 数据读取问题排查与修复
问题原因
你的代码未将Date列设置为索引,导致读取后的DataFrame列结构不符合stack()/unstack()的使用要求。原Excel文件的表头为双层结构(第一行是股票名称,第二行是对应指标),但第一列的Date会被错误纳入列索引体系,造成后续数据处理时结构混乱,无法正常进行行列转换操作。
修复方案
修改读取代码,添加index_col=0参数,将Date列指定为行索引,让双层列索引(股票名称+指标)正确对应到数据上:
import pandas as pd df = pd.read_excel("stocks.xlsx", header=[0,1], index_col=0)
验证与使用
读取后的数据结构为:行索引是Date,列是多层索引(第一层为股票名称,第二层为Price/PE/Volume)。此时可正常使用df.stack()将股票名称从列索引转为行索引,得到适合分析的长格式数据;也可通过unstack()完成反向转换。
例如执行df.stack()后,会生成一个三级索引的Series(Date → 股票名称 → 指标),便于后续分组、统计等操作。
内容的提问来源于stack exchange,提问作者Nizamuddin Shaikh
相关产品推荐
相关产品推荐

