加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:58:01 所属栏目:Python 来源:网络整理
导读:我有一个 python代码,其中我使用pandas读取csv文件并在一个日期时间列中存储日期和时间.现在我想在y轴上绘制传感器值,在x轴上绘制数据时间.我怎样才能实现这一目标?我的代码如下: import pandas as pdimport datetimeimport csvimport matplotlib.pyplot a
我有一个 python代码,其中我使用pandas读取csv文件并在一个日期时间列中存储日期和时间.现在我想在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:/UsersLala RushanDownloadsDataLog.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

解决方法

确保您的日期列采用日期时间格式,并在matplotlib中使用plot()函数.您可以执行类似于 this的操作.此处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',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()

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读