【问题标题】:Multi index Pandas dataframe and export in excel多索引 Pandas 数据框并在 excel 中导出
【发布时间】:2020-07-19 13:57:28
【问题描述】:

我有这个多索引数据框:

                Value
                Year    2010    2011    2012    2013    2014    2015    2016    2017    2018
Partner Product Reporter                                    
FRA         111   ARG   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  ARM   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  AUT   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  BEL   0.01    0.00    0.00    0.00    0.00    0.01    0.01    0.01    0.0
                  BGR   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  CAN   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
            112   ARG   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  ARM   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  AUT   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  BEL   0.01    0.00    0.00    0.00    0.00    0.01    0.01    0.01    0.0
                  BGR   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  CAN   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0   
... ... ... ... ... ... ... ... ... ... ...
            9900  OMN   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  PAK   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  PAN   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  PER   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0
                  PHL   0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.0

它在“合作伙伴”列中包含 1 个元素,在“产品”列中包含 444 个元素(所有这些元素都包含在名为“产品”的列表中)。 我需要为任何产品创建 444 个数据框(可能带有 for cicle)并将它们保存在一个 excel 文件中(如果有人在不同的工作表中更好)。 你能帮帮我吗?

【问题讨论】:

    标签: python pandas multi-index


    【解决方案1】:

    想法是使用ExcelWriter 并通过groupby 循环创建新工作表:

    with pd.ExcelWriter('output.xlsx') as writer:  
        for i, g in df.sort_index(level=1, ascending=False).groupby(level=1, sort=False):
            g.to_excel(writer, sheet_name=f'Sheet_name_{i}')
    

    【讨论】:

    • 完美运行!你知道如何为每个产品按降序保存它们吗?
    • @olcesi - 答案由DataFrame.sort_values 编辑并添加sort=Falsegroupby
    猜你喜欢
    • 2016-08-23
    • 2020-10-22
    • 2017-09-06
    • 2022-07-22
    • 2015-05-29
    • 2019-12-09
    • 2016-03-28
    • 2017-08-19
    相关资源
    最近更新 更多