按变量

时间:2018-05-24 14:02:07

标签: python pandas dataframe

刚开始使用python和pandas,SO非常适合学习。

一直在查看文档和教程几个小时,但我认为我缺乏python词汇来找到我想要的东西。

我在一致的时间(b)记录了温度数据(c),但是在不同的位置(a)。我想通过变量转置( unstack?)。例如:

  a              b             c                  
0001    2016-02-01 00:00    19.93
0001    2016-02-01 00:30    19.5
0001    2016-02-01 01:00    19.25
...
0002    2016-02-01 00:00    23.37
0002    2016-02-01 00:30    22.93
0002    2016-02-01 01:00    22.56

转到:

                    0001       0002
2016-02-01 00:00    19.93     23.37

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我想你想要这样的东西:

import pandas as pd

data = [
['0001',    '2016-02-01 00:00',    19.93],
['0001',    '2016-02-01 00:30',    19.5],
['0001',    '2016-02-01 01:00',    19.25],
['0002',    '2016-02-02 00:00',    23.37],
['0002',    '2016-02-02 00:30',    22.93],
['0002',    '2016-02-02 01:00',    22.56]
]

df = pd.DataFrame(data, columns = ['valuekey', 'a', 'b'])

df['a'] =  pd.to_datetime(df['a'], format='%Y-%m-%d %H:%M').dt.time

df = df.pivot(index = 'a', columns = 'valuekey', values = 'b')

print(df)

#output
valuekey   0001   0002
a                     
00:00:00  19.93  23.37
00:30:00  19.50  22.93
01:00:00  19.25  22.56

我认为你的时间是几小时和几分钟。