我有一个没有任何索引列的多标题Excel工作表。当我读熊猫的excel时,它会将第一列视为索引。我希望熊猫创建索引而不是将第一列作为索引。任何帮助将不胜感激。
我尝试了以下代码:
df = pd.read_excel(file, header=[1,2], sheetname= "Ratings Inputs", parse_cols ="A:AA", index_col=None)
答案 0 :(得分:0)
您是否尝试过reset_index():
your_data_frame.reset_index(drop=True,inplace=True)
答案 1 :(得分:0)
在我的测试中,read_csv
似乎被多行标头打断了:index_col
不存在或为“无”时,它的行为就像是0。
您在这里有2种可能的解决方法:
reset_index
,如@mounaim所建议:
df = pd.read_excel(file, header=[1,2], sheetname= "Ratings Inputs",
parse_cols ="A:AA", index_col=None).reset_index()
除了第一列的标题用于命名MultiIndex
df.columns
并将第一列命名为`('index',')以外,几乎是正确的。因此,您必须重新创建它:
df.columns = pd.MultiIndex.from_tuples([tuple(df.columns.names)]
+ list(df.columns)[1:])
分别阅读标题
head = pd.read_excel('3x3.xlsx', header=None, sheetname= "Ratings Inputs",
parse_cols ="A:AA", skiprows=1, nrows=2)
df = pd.read_excel(file, header=2, sheetname= "Ratings Inputs",
parse_cols ="A:AA", index_col=None).reset_index()
df.columns = pd.MultiIndex.from_tuples(list(head.transpose().to_records(index=False)))