我的数据框如下所示
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']
答案 0 :(得分: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