【问题标题】:Pandas dataframe: how to create columns from values?Pandas 数据框:如何从值创建列?
【发布时间】:2015-10-12 06:38:18
【问题描述】:

我有一个看起来像这样的熊猫数据框:

            day payment_method  actuals  
 0   2015-03-31      DCASH_T3M       32        
 1   2015-03-31   DCASH_T3M_3D       90        
 2   2015-03-31         PAYPAL       34        
 4   2015-04-01      DCASH_T3M       16       
 5   2015-04-01   DCASH_T3M_3D       54       
 6   2015-04-01         PAYPAL       33        
 7   2015-04-02      DCASH_T3M        7       
 8   2015-04-02   DCASH_T3M_3D       80       
 9   2015-04-02         PAYPAL       38       

我想做的是对它们进行时间序列分析。如果我为每种付款方式都有一个列来报告相应的实际值和订单总值和时间序列,那将是有利的。

       day DCASH_T3M DCASH_T3M_3D PAYPAL
2015-03-31        32          90      34
2015-04-01        16          54      33
2015-04-02         7          80      38

datatime 对象将是一个新列,每个 roe 都有不同的日期。 payment_method 列的值将是三个新列,每个列都包含实际值。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    你想pivot:

    In [27]:
    df.pivot(index='day', columns = 'payment_method', values = 'actuals')
    
    Out[27]:
    payment_method  DCASH_T3M  DCASH_T3M_3D  PAYPAL
    day                                            
    2015-03-31             32            90      34
    2015-04-01             16            54      33
    2015-04-02              7            80      38
    

    【讨论】:

      【解决方案2】:

      这样就可以了:

      data = data.pivot(index=`'day', columns='payment_method',values='actuals)`
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多