Pandas数据帧:如何从值创建列?

时间:2015-07-22 11:48:56

标签: python pandas dataframe

我有一个pandas数据框,如下所示:

            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具有不同的日期。 pay_method列的值将是三个新列,每个列包含实际值中的值。

2 个答案:

答案 0 :(得分:0)

您想要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

答案 1 :(得分:0)

这样可以解决问题:

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