Python 强制在数据透视表中显示额外的列?
是否可以强制Pandas在数据透视表中包含一组特定的有序列,而不管底层数据是否保证它们的存在?比如说Python 强制在数据透视表中显示额外的列?,python,pandas,dataframe,pivot,pivot-table,Python,Pandas,Dataframe,Pivot,Pivot Table,是否可以强制Pandas在数据透视表中包含一组特定的有序列,而不管底层数据是否保证它们的存在?比如说 df = pd.DataFrame({'Project': ['ProjectA', 'ProjectB', 'ProjectC'], 'Start Month': [2,5,9], 'End Month': [3,7,10], 'Category': ['A', 'B', 'A']
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
如果数据具有基本的自然排序和呈现表示形式,例如逐月日历,则此功能非常有用。是否只需重新索引列
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