首页 > 解决方案 > 熊猫数据透视表重新索引会失去利润?

问题描述

当我遇到 2 个问题时,我一直在使用 pandas 数据透视表进行探索。

假设我现在有一个像这样的数据透视表:

pd.pivot_table(df, values='age', index='Name', columns=['Domestic?', 'Size'], margins=True)
Output:
    Domestic?  Y               N 
    Size     Large Small     Large Small  All
Name         
Tiger          10    NA        5     1     16
Dog             5     1        3     1     10
Cat             6     2        4     1     13
All            21     3        12    3     39

但我真正想要的是:

     Domestic?  Y                   N 
     Size     Large Small Medium    Large Small Medium All
Name         
Tiger          10    NA     NA     5     1        NA    16
Dog             5     1     NA     3     1        NA    10
Cat             6     2     NA     4     1        NA    13
All            21     3     NA     12    3        NA    39

所以我尝试通过重新索引在“大小”中添加一个新类别:

 size_list = ['Large', 'Small', 'Medium']
 pd.reindex(size_list, level=1, axis=1)

这是我得到的:

 Output:
      Domestic?  Y               N 
      Size     Large Small     Large Small  
  Name         
  Tiger          10    NA        5     1     
  Dog             5     1        3     1     
  Cat             6     2        4     1     
  All            21     3        12    3  

出现2个问题:

  1. 为什么 Medium 没有添加到表格中?
  2. 为什么左边的边距下降了?

有人可以帮忙吗?非常感谢!

标签: pandaspivot-tablereindex

解决方案


推荐阅读