Nip*_*tra 8 python time-series matplotlib scatter-plot
我正在使用Matplotlib绘制时间序列数据,并且序列中缺少一些数据.Matplotlib隐式地将最后一个连续数据点连接到下一个连续数据点.但是如果数据丢失,情节看起来很难看.以下是获得的情节.

可以看出,在4月30日标记附近,数据丢失,Matplotlib加入点.以下图像是数据的散点图.散点图掩盖了此故障,但在这种情况下,连续的数据点将不会联合.此外,考虑到涉及大量数据点,散点图非常慢.

这些问题的推荐解决方案是什么?
tac*_*ell 10
如果您可以确定断点应该在哪里,您可以:
np.nan间隙中的数据参见例如Plot periodic trajectories.
您可以获得相同的效果scatter(如果您不想单独缩放每个点的大小或颜色)
ax.plot(x, y, linestyle='none', marker='o')
Run Code Online (Sandbox Code Playgroud)
正如前面的答案所说,您应该在没有数据的地方插入 NaN。这个答案特定于 Pandas,并解释了如何轻松实现这一点。任何一个 :
Series.resample() 或者Series.reindex()最简单的使用方法是resample()。对于规则间隔的数据,这是最简洁的方式。因此,在上面的示例中,如果您有 5 分钟的数据,只需执行data.resample("5 min"). 这将在缺失值中返回带有“NaT”(时间等效于 NaN)的数据集。
这不能很好地工作的唯一情况是当您的样本不规则间隔时。
另一种方法是reindex(),它也适用于有序(但非时间序列)数据。因此,例如,如果您有一个用 0 .. 100 之间的整数索引的数据集,但缺少一些样本,则可以执行data.reindex([0:100]). 您还可以通过传入函数作为参数来复制resamplewith的行为。reindexpandas.date_range()
| 归档时间: |
|
| 查看次数: |
7075 次 |
| 最近记录: |