簡體   English   中英

多索引 Pandas dataframe 並在 excel 中導出

[英]Multi index Pandas dataframe and export in excel

我有這個多索引 dataframe:

                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 文件中(如果有人在不同的工作表中更好)。 你能幫幫我嗎?

想法是使用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}')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM