首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化datetime64 RingBuffer

初始化datetime64 RingBuffer
EN

Stack Overflow用户
提问于 2017-07-19 10:04:23
回答 1查看 26关注 0票数 0

我稍微修改了缓冲器的环形缓冲区的实现。我想用datetime64值初始化它。我可以得到最后一分钟的结果,如下所示:

代码语言:javascript
复制
    self.x = RingBuffer(
        np.array([
            np.datetime64('now') - np.timedelta64(seconds=i)
            for i in range(60)
        ]))
    self.y = RingBuffer(np.zeros(60))

然而,没有最后一分钟的数据。我想要一些np.NAself.x中,但是这个NEP似乎没有领先的位置。每秒钟(比方说),一个新的实际值(来自某个传感器)将被添加到self.y中,而当前的时间戳将被添加到self.x中。

如何用缺失的值初始化self.x

这些数据最终是通过MatPlotLib…绘制的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-20 10:30:15

使用蒙面阵列,这实际上是微不足道的:

代码语言:javascript
复制
    self.x = RingBuffer(
        ma.array([
            now - np.timedelta64(datetime.timedelta(microseconds=i))
            for i in range(self._seconds)
        ], mask=self._seconds*[True]))
    self.y = RingBuffer(ma.zeros(self._seconds),
                        mask=self._seconds*[True])

在哪里class RingBuffer(ma.MaskedArray)。要绘制数据,需要这样做:

代码语言:javascript
复制
        self.plt.set_xdata(self.x.compressed())
        self.plt.set_ydata(self.y.compressed())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45187288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档