如何让pandas根据特定的日期变量将每一行视为一列?

时间:2018-06-18 22:17:22

标签: python pandas dataframe

我正在尝试旋转我的pandas数据帧,以便我的数据看起来像......

[ResponseType(typeof(IEnumerable<>))]

看起来像......

     date   | data_1 | data_2 | data_3 | data_4
-----------------------------------------------
'2017-04-01'|     100|     200|     300|    400
'2017-05-01'|     500|     222|     333|    444

我一直在关注数据框的转向,但我无法弄清楚“索引”会是什么。当我尝试为每一行添加一个索引值时,我尝试了这个支点:

       | '2017-04-01' | '2017-05-01'
------------------------------------
data_1 |           100|          500
data_2 |           200|          222 
data_3 |           300|          333
data_4 |           400|          444

但它给我一个错误pd.pivot(index='index', columns='date', values=['data_1', 'data_2', 'data_3', 'data_4'])

我显然不在这里。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

使用set_index + transpose

res = df.set_index('date').T

print(res)

date    '2017-04-01'  '2017-05-01'
data_1           100           500
data_2           200           222
data_3           300           333
data_4           400           444

因此您不需要使用pivot_table,这几乎专门用于需要基于数据透视表执行聚合时。注意属性T是方法transpose()的访问者。