2017-04-19 105 views
0

我有一个数据帧我想改变这下面的格式如下所示熊猫更改列格式

Data.ix[1:4] 
    Open Type  DateTime 
1 3  A  2013-02-19 08:48:00 
2 5  A  2013-02-19 08:50:00 
3 1  B  2013-02-19 08:48:00 
4 7  B  2013-02-19 10:33:00 

DateTime    A B  
2013-02-19 08:48:00 3 1 
2013-02-19 08:50:00 5 
2013-02-19 10:33:00  7 

数据框大,大概有50个不同的Types。我想将DateTime作为新索引排序。 Type列的类型是结果数据框的新列。

我对如何解决这个问题没有想法。我尝试使用pandas pivot table,但我不知道该从那里做什么。

z1 = pd.pivot_table(Data, index=['DateTime', 'Type'], values=['Open'], aggfunc=[np.sum])['sum'] 

回答

1

您可以使用pivot_table,如下所示。

import pandas as pd 
Data = pd.DataFrame.from_dict({'open':[3,5,1,7], 'Type': ['A','A','B','B'], 'DateTime' : pd.date_range("11:00", "14:00", freq="60min")}) 

table = pd.pivot_table(Data, values = 'open', index=['DateTime'], 
       columns=['Type']) 
print table 

结果

Type     A B 
DateTime      
2017-04-19 11:00:00 3.0 NaN 
2017-04-19 12:00:00 5.0 NaN 
2017-04-19 13:00:00 NaN 1.0 
2017-04-19 14:00:00 NaN 7.0 
+0

内存错误:) ..我的数据帧是如此之大 – Zanam