pandas多级索引

为什么读取这里的excel文件后,返回的DataFrame没有多级索引,要怎么才让他改为原本excel的多级索引格式

img

img

结构化结构化结构化~~~。
适度调整

img

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7769924
  • 这篇博客也不错, 你可以看下用pandas读取Excel表,并生成dataframe格式进行进一步处理
  • 除此之外, 这篇博客: 使用pandas操作excel中的 对于dataframe的某一列进行筛选 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • tmp = df[(df.金额 > 0)]
    

    对列名为金额的列进行筛选,并将得到的dataframe存入tmp中

  • 您还可以看一下 曾贤志老师的用Python中的Pandas处理数据 课程中的 2.3 DataFrame导出为Excel类型小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    针对该问题,这里提供以下几个步骤:

    步骤1:利用pandas读取Excel表并处理成DataFrame格式,通常会通过print来检查一下是否顺利读取。

    import pandas as pd
    
    total_data = pd.read_excel('/path/to/excel_file.xlsx', header=[0, 1])
    total_data = pd.DataFrame(total_data)
    print(total_data)
    

    其中,header=[0, 1]表示读取Excel文件时将前两行作为列索引。这样便能将Excel文件的多级索引读取进来,但是返回的数据并不是多级索引的DataFrame。

    步骤2:将读入的数据按照多级索引重新设置索引,并保存为新的DataFrame。

    new_data = total_data.set_index(keys=['Column_1', 'Column_2'])
    

    其中,Column_1Column_2为Excel文件中的列名,需要将其替换为具体的列名。这样就能保留Excel文件的多级索引了。

    完整代码如下:

    import pandas as pd
    
    total_data = pd.read_excel('/path/to/excel_file.xlsx', header=[0, 1])
    total_data = pd.DataFrame(total_data)
    print(total_data)
    
    new_data = total_data.set_index(keys=['Column_1', 'Column_2'])
    print(new_data)
    

    其中,/path/to/excel_file.xlsx需要替换为实际的Excel文件路径,Column_1Column_2需要替换为实际的列名。