2017-05-30 103 views
1

我已通过以下pandas crosstab获得聚合数据框。但是,我想列这样的格式:将pandas crossstab数据框更改为普通表格格式:

id   ymdh   A11  A12  A15  A16 
-------------------------------------------------------------- 

如何将原始数据框更改为我所需的格式?

* Original output dataframe:  

df = pd.crosstab(df.ymdh, df_data.id, margins=False,  
         values=df.duration, dropna=False, 
         normalize='columns', 
         aggfunc=[np.sum]).reset_index().fillna(0) 


      ymdh  sum              
id      A11  A12  A15  A16  
---------------------------------------------------------- 
0  2016040100 0.000000 0.002222 0.049398 0.018077 
1  2016040101 0.003354 0.004141 0.078531 0.015131 
2  2016040102 0.001397 0.002424 0.000633 0.001473 
+0

你可以添加数据的样本就创建'pd.crosstab'? – jezrael

+0

或者,也许可以帮助将'aggfunc = [np.sum]'更改为'aggfunc ='sum'' – jezrael

+0

哈哈哈.....非常感谢! ^^; –

回答

1

我认为你需要crosstabsum

df = pd.crosstab(df.ymdh, df_data.id, margins=False,  
         values=df.duration, dropna=False, 
         normalize='columns', 
         aggfunc='sum').reset_index().fillna(0)