【发布时间】:2019-10-27 19:37:33
【问题描述】:
当使用日期绘制带有 pandas 的时间序列时,绘图完全错误,x 轴上的日期也是如此。由于某种原因,数据是针对日期绘制的,甚至不在数据框中。
这用于绘制具有独立时钟和不同采样频率的多个传感器。我想在同一图中绘制所有传感器进行比较。
我尝试按升序对数据框进行排序,并将日期时间列分配为数据框索引,但没有效果。相反,当根据时间戳绘制数据集时,每个传感器的图看起来都很好。
典型 CSV 文件的摘录:
Timestamp Date Clock DC3 HR DC4
13 18.02.2019 08:24:00 19,12 61 3
14 18.02.2019 08:26:00 19,12 38 0
15 18.02.2019 08:28:00 19,12 52 0
16 18.02.2019 08:30:00 19,12 230 2
17 18.02.2019 08:32:00 19,12 32 3
下面的代码给我带来了问题:
import pandas as pd
from scipy.signal import savgol_filter
columns = ['Timestamp', 'Date', 'Clock', 'DC3', 'HR', 'DC4']
data = pd.read_csv('Exampledata.DAT',
sep='\s|\t',
header=19,
names=columns,
parse_dates=[['Date', 'Clock']],
engine='python')
data['HR'] = savgol_filter(data['HR'], 201, 3) #Smoothing
ax = data.plot(x='Date_Clock', y='HR', label='Test')
预期的结果应该是这样的,只有沿 x 轴的日期:
实际结果是:
可在此处下载完整数据文件的示例: https://filesender.uninett.no/?s=download&token=ae8c71b5-2dcc-4fa9-977d-0fa315fedf45
如何解决这个问题?
【问题讨论】: