将带有顺序数据的Pandas DataFrame转换为具有多列的DataFrame

时间:2017-05-24 22:45:36

标签: pandas dataframe

我已经将一些数据读入Pandas数据帧(来自SQL数据库)。数据按以下形式顺序排列:

符号| Data_Time |值

AA | 2016-11-09 09:30:00 | 1

AA | 2016-11-09 09:45:00 | 2

AA | 2016-11-09 10:00:00 | 5

...

BB | 2016-11-09 09:30:00 | 3

BB | 2016-11-09 09:45:00 | 6

BB | 2016-11-09 10:00:00 | 8

...

是否有一种简单的方法将数据转换为

Data_Time | AA | BB

2016-11-09 09:30:00 | 1 | 3

2016-11-09 09:45:00 | 2 | 6

2016-11-09 10:00:00 | 5 | 8

1 个答案:

答案 0 :(得分:4)

您需要转轴

df.pivot(index = 'Data_Time', columns = 'Symbol', values = 'Value').reset_index()

你得到了

Symbol  Data_Time            AA  BB
0       2016-11-09 09:30:00  1   3
1       2016-11-09 09:45:00  2   6
2       2016-11-09 10:00:00  5   8

另一种方式:

df.set_index(['Data_Time', 'Symbol']).Value.unstack().reset_index()