如何使用时间戳格式创建时间序列图:MM / DD / YYYY HH:MM

时间:2019-05-01 17:18:49

标签: python-3.x pandas matplotlib data-science

我有一个要从.csv文件读取的大小合适的表。我想创建一个值的时间图。

file = 'test.csv'
names = ['id', 'siteid', 'machineid', 'tag', 'value', 'ts', 'year', 'month', 'day', 'min', 'max', 'avg', 'std']
dataset = pandas.read_csv(file)
dataset.columns = names
dataset.head(500)
for value in dataset.ts:
    datetime.datetime.strptime(value, "%b/%d/%Y %H:%M")

这是示例示例

     id      siteid     machineid   tag                              value               ts     year    month   day     min     max     avg       std
18  5758593     NaN     NaN     ALineFillHopper.Level.LIT_325.PV    65.410011   3/9/2019 5:30   2019    3   9   64.466148   65.627884   64.823166   0.352118

我将此视为错误

ValueError: time data '3/9/2019 4:00' does not match format '%b/%d/%Y %H:%M'

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

我想您已经解决了数据格式的问题,并且很难在“ ts”列上绘制“ value”列。如果我把您的问题解释错了,那么对不起。要在pandas数据框中绘制两列(希望您正在使用pandas数据框),可以使用以下代码段:

import numpy as np
import pandas as pd

dataset = pd.DataFrame(dataset)
column1 = dataset['value']
column2 = dataset['ts']

df = {'value' : column1,
     'ts'    : column2}

df = pd.DataFrame(df)
df.plot(style=['o','rx'])

尝试此代码段,如果可行,请投票。 :)编码愉快。