我正在尝试从Excel导入数据框并维护多索引格式。
此导入很好:
def import_cp(cp_sheet_name):
xl = pd.ExcelFile('FileNameA.xlsx')
df_first = xl.parse(cp_sheet_name)
df_second = xl.parse(cp_sheet_name)
# there's many more
return df_first, df_second
df_first = import_cp("Sheet 1")
Excel的格式如下:
| | Alpha | Bravo | Charlie |
|Position| Area | Gain | Area | Gain | Area | Gain |
| 1 | 0.5 | 1.1 | 0.5 | 1.1 | 1.7 | 1.6 |
| 2 | 0.6 | 1.0 | 0.6 | 1.0 | 1.5 | 1.4 |
Alpha Bravo细胞合并的地方。
当我导入时,我得到:
( |Unnamed: 0 Alpha| Unnamed: 2 Bravo| Unnamed: 4 Charlie|
0 |Position Area| Gain Area | Gain Area |
1 | 1 0.5 | 1.17 0.5 | 1.13 0.5 |
2 | 2 0.5 | 1.17 0.5 | 1.13 0.5 |
我尝试使用header=0
但是没有太大变化而且fillna
并不理想,因为我不想Alpha Alpha Bravo Bravo Charlie Charlie
对此有任何帮助将不胜感激。
答案 0 :(得分:1)
我认为您需要将参数header=[0,1]
添加到read_excel
,以便读取MultiIndex
,index_col=0
的列,以便将第一列读取到index
和{{1} }用于阅读名为sheetname='sheet1'
的{{1}}。然后,您可以按rename_axis
重置列名称(sheet
sheet1
中的新内容)
pandas