【问题标题】:Forcing extra columns to show up in pandas pivot table?强制额外的列显示在熊猫数据透视表中?
【发布时间】:2018-03-08 16:49:47
【问题描述】:

是否可以强制 Pandas 在数据透视表中包含一组特定的有序列,而不管基础数据是否保证它们存在?例如

df = pd.DataFrame({'Project': ['ProjectA', 'ProjectB', 'ProjectC'],
                   'Start Month': [2,5,9],
                   'End Month': [3,7,10],
                   'Category': ['A', 'B', 'A']
                  })
pv = pd.pivot_table(df, values='Project', index='Category', columns='Start Month', aggfunc={'Project':lambda x: "".join(x) }).fillna('')

生产

Start Month  2          5         9
Category        
A            ProjectA             ProjectC
B                       ProjectB    

但我想要查看 12 个月中每个月的列,即使那里没有数据:

Start Month  1  2         3  4  5        6  7  8  9         10  11  12
Category        
A               ProjectA                          ProjectC
B                               ProjectB    

这在数据具有潜在的自然排序和呈现表示的情况下很有用,例如逐月日历。

【问题讨论】:

    标签: python pandas dataframe pivot pivot-table


    【解决方案1】:

    只是重新索引列?

    pv.reindex(columns=np.arange(1, 13), fill_value='')
    
    Start Month 1         2  3  4         5  6  7  8         9  10 11 12
    Category                                                         
    A               ProjectA                           ProjectC      
    B                               ProjectB                         
    

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多