python - 读取时间序列 csv 文件以使用 matplotlib 进行绘图

标签 python csv numpy datetime matplotlib

我正在尝试从 csv 文件绘制时间序列。 例如。 datalog.csv 包含:

19:06:17.188,12.2

19:06:22.360,3.72

19:06:27.348,72

19:06:32.482,72

19:06:37.515,74

19:06:47.660,72

尝试了如下所示的操作:

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.dates as mdates


time, impressions = np.loadtxt("datalog_new.csv", unpack=True,

        converters={ 0: mdates.strptime2num('%H:%M:%S.%f')})


plt.plot_date(x=time, y=impressions)

plt.show()

但无法解析时间,mdates.strptime2num('%H:%M:%S.%f')

非常感谢任何建议。

最佳答案

您必须使用bytespdate2num读取csv文件的函数(因为您以二进制模式读取文件):

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import bytespdate2num

time, impressions = np.loadtxt("datalog_new.csv",
 unpack=True, delimiter=',', converters={0: bytespdate2num('%H:%M:%S.%f')})

plt.plot_date(x=time, y=impressions)
plt.show()

enter image description here

关于python - 读取时间序列 csv 文件以使用 matplotlib 进行绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753628/

相关文章:

python - 什么是 django 日期时间字段格式

python - 使用引号和逗号解析 csv

python-3.x - 为什么 numpy 对这个逆矩阵给出了错误的答案?

python - 带有 NumPy 数组的 ReLU Prime

python - numpy arctan2 参数根据语法导致 ValueError

python - ornado.httpclient.AsyncHTTPClient支持在Python3.x中使用http代理吗?

python - 通过像这样的json文件生成数据矩阵最有效的方法是什么?

python - 接收一个列表,根据连续的重复值返回 True/False 列表

PHP 将 CSV 转换为特定的 JSON 格式

python - 转换为 float 时出错