如何将熊猫数据框转换为多级列

时间:2019-07-31 09:24:33

标签: python pandas pivot-table

我有df,如下所示

    Date        Ad_Source   Revenue eCPM  Impressions
0   2019-07-06  AdColony    50.62   269.57  17640
1   2019-07-06  AdMob       519.23  361.79  370855
2   2019-07-06  AppLovin    0.00    NaN       0
3   2019-07-06  Cross P     0.00    NaN   0
4   2019-07-06  Facebook    13.58   96.68   2507

我需要深入了解

                 AdColony                               AdMob            
date     Revenue   eCPM  Impressions     Revenue   eCPM  Impressions


我需要深入了解

                 AdColony                               AdMob            
date     Revenue   eCPM  Impressions     Revenue   eCPM  Impressions


多层列

2 个答案:

答案 0 :(得分:1)

使用DataFrame.unstack

df = df.set_index(['Date', 'Ad_Source']).unstack(level=[0]).T.unstack(level=[0])

print(df)
Ad_Source  AdColony                       AdMob                     AppLovin  \
            Revenue    eCPM Impressions Revenue    eCPM Impressions  Revenue   
Date                                                                           
2019-07-06    50.62  269.57     17640.0  519.23  361.79    370855.0      0.0   

Ad_Source                   Cross P                  Facebook         \
           eCPM Impressions Revenue eCPM Impressions  Revenue   eCPM   
Date                                                                   
2019-07-06  NaN         0.0     0.0  NaN         0.0    13.58  96.68   

Ad_Source               
           Impressions  
Date                    
2019-07-06      2507.0  

答案 1 :(得分:0)

很多方法,您可能很高兴使用pandas .groupby()方法来返回数据透视表,例如format。

new_df = df.groupby(['Ad_Source'])

如果您需要有关groupby方法的更多帮助,请使用video resource