【问题标题】:How to retain blank index values in Multilevel index when reading from Excel with Python and pandas?使用 Python 和 pandas 从 Excel 读取时如何在多级索引中保留空白索引值?
【发布时间】:2018-01-18 03:34:07
【问题描述】:

我有一个如下所示的 Excel 文件: 我正在使用 pandas 阅读如下:

data = pd.read_excel(excelFile,
                     sheetname=sheet,
                     skiprows=[0,1],
                     header=[0],
                     index_col=list(range(0,2)))

问题是我有空白索引值(以黄色突出显示),pandas 最终用索引列名称填充,如下所示:
我怎样才能防止它这样做?

【问题讨论】:

    标签: python excel pandas multi-level


    【解决方案1】:

    如果您使用空格字符填充文件中的空单元格,您可以获得所需的结果。或者,您可以在读取文件时指定更少的选项并使用简单的后处理:

        import pandas as pd
    
        df = pd.read_excel('C:\problem.xlsx', skiprows = [0, 1])
    
        # Replace NaNs with a space character
        df = df.fillna(' ')
    
       df = df.set_index(['Description', 'Segment'])
    
       print(df)
    

    输出:

                                                      $
        Description         Segment                    
        Total                               1.60528e+08
         Brand A                            3.67197e+07
          Brand A Product 1 Awsome product       107493
          Brand A Product 2 Awsome product             
    

    【讨论】:

    • 这对我有用——在接受之前想知道是否还有其他解决方案。
    • 可能还有其他解决方案,但我不知道。如果您考虑一下,在索引列中包含 NaN 是没有意义的。因此,这些命令会自动用一个值填充单元格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2020-01-05
    • 2013-09-08
    • 1970-01-01
    相关资源
    最近更新 更多