如何在python中使用matplotlib和pandas绘制CSV数据

如何在python中使用matplotlib和pandas绘制CSV数据,python,csv,pandas,matplotlib,Python,Csv,Pandas,Matplotlib,我有一个python代码,其中我使用pandas读取csv文件,并将日期和时间存储在一列中Datetime。现在我想在y轴上绘制传感器值,在x轴上绘制数据时间。我怎样才能做到这一点?我的代码如下: import pandas as pd import datetime import csv import matplotlib.pyplot as plt import matplotlib.dates as mdates headers = ['Sensor Value','Date','Time

我有一个python代码,其中我使用pandas读取csv文件,并将日期和时间存储在一列中Datetime。现在我想在y轴上绘制传感器值,在x轴上绘制数据时间。我怎样才能做到这一点?我的代码如下:

import pandas as pd
import datetime
import csv
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
headers = ['Sensor Value','Date','Time']
df = pd.read_csv('C:/Users\Lala Rushan\Downloads\DataLog.CSV',parse_dates=     {"Datetime" : [1,2]},names=headers)
print (df)
以下是数据集中的一些行:

                      Datetime  Sensor Value
0     2017/02/17  19:06:17.188             2
1     2017/02/17  19:06:22.360            72
2     2017/02/17  19:06:27.348            72
3     2017/02/17  19:06:32.482            72
4     2017/02/17  19:06:37.515            74
5     2017/02/17  19:06:42.580            70
6     2017/02/17  19:06:47.660            72

确保日期列为datetime格式,并在matplotlib中使用plot()函数。你可以做类似的事情。这里x值将是您的日期列,y值将是传感器值

import pandas as pd
from datetime import datetime
import csv
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
headers = ['Sensor Value','Date','Time']
df = pd.read_csv('C:/Users\Lala Rushan\Downloads\DataLog.CSV',names=headers)
print (df)

df['Date'] = df['Date'].map(lambda x: datetime.strptime(str(x), '%Y/%m/%d %H:%M:%S.%f'))
x = df['Date']
y = df['Sensor Value']

# plot
plt.plot(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()

plt.show()

当我运行该程序时,它给出ValueError:无法将字符串转换为浮点:“2017/02/17 19:49:27.550”。如何解决此问题?您的日期列不是日期时间格式。您可以在为x赋值之前使用-
df['Date']=pd.to_datetime(df['Date'],格式=“%Y/%m/%d%H:%m:%S.%f)”
谢谢您的评论。现在它给了我错误:ValueError:time数据“2017/02/17 19:06:17.188”与指定的格式不匹配。这里可能有什么问题?格式与csv中的格式相同。您能否在问题中发布几行数据集?有人可以快速回答这个问题。我已经编辑了答案。日期列中日期和时间之间的空格数似乎有问题。根据需要更改lambda表达式。我还添加了一种导入datetime包的方法。