将pandas crossstab数据框更改为纯表格式: [英] change pandas crossstab dataframe into plain table format:

查看:86
本文介绍了将pandas crossstab数据框更改为纯表格式:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经通过以下熊猫交叉表获得了汇总数据框.但是,我想要这样的列格式:

I've got aggregate dataframe through following pandas crosstab. However, I'd like to columns' format like this:

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

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

How do I change the original dataframe into my desired format?

* 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  

推荐答案

我认为您需要 crosstab sum:

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

这篇关于将pandas crossstab数据框更改为纯表格式:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆