从Excel导入多索引数据框

时间:2016-04-28 11:28:37

标签: python excel pandas multi-index

我正在尝试从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

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为您需要将参数header=[0,1]添加到read_excel,以便读取MultiIndexindex_col=0的列,以便将第一列读取到index和{{1} }用于阅读名为sheetname='sheet1'的{​​{1}}。然后,您可以按rename_axis重置列名称(sheet sheet1中的新内容)

pandas