跳转到主要内容

时间序列同步和重采样库。

项目描述

什么是syncing?

syncing是一个用于同步和重采样时间序列的有用库。

同步基于傅里叶变换,重采样通过特定的插值方法进行。

安装

使用(具有root权限)安装它

$ pip install syncing

或下载最新的git版本并使用(具有root权限)

$ python setup.py install

安装附加组件

安装以下附加组件可以启用一些额外功能

  • cli: 启用命令行界面。

  • plot: 启用绘制模型过程及其工作流程。

  • dev: 安装所有库以及开发库。

要安装同步以及所有附加组件(除开发库外),请执行以下操作

$ pip install syncing[all]

同步实验室数据

本例展示了如何使用模型同步模型将两个数据集obddyno(分别代表车辆的车载诊断和底盘测功机)与参考信号ref进行同步。为此,我们使用模型同步模型来可视化模型

>>> from syncing.model import dsp
>>> model = dsp.register()
>>> model.plot(view=False)
SiteMap(...)

[图表]

提示:您可以通过点击图表来探索该图表。

首先,我们生成合成的数据集以供模型使用

>>> import numpy as np
>>> data_sets = {}
>>> time = np.arange(0, 150, .1)
>>> velocity = (1 + np.sin(time / 10)) * 60
>>> data_sets['ref'] = dict(
...     time=time,                                               # [10 Hz]
...     velocity=velocity / 3.6                                  # [m/s]
... )
>>> data_sets['obd'] = dict(
...     time=time[::10] + 12,                                    # 1 Hz
...     velocity=velocity[::10] + np.random.normal(0, 5, 150),   # [km/h]
...     engine_rpm=np.maximum(
...         np.random.normal(velocity[::10] * 3 + 600, 5), 800
...     )                                                        # [RPM]
... )
>>> data_sets['dyno'] = dict(
...     time=time + 6.66,                                        # 10 Hz
...     velocity=velocity + np.random.normal(0, 1, 1500)         # [km/h]
... )

同步数据集并绘制工作流程

>>> from syncing.model import dsp
>>> sol = dsp(dict(
...     data=data_sets, x_label='time', y_label='velocity',
...     reference_name='ref', interpolation_method='cubic'
... ))
>>> sol.plot(view=False)
SiteMap(...)

[图表]

最后,我们可以分析时间差以及同步和重采样的数据集

>>> import pandas as pd
>>> import schedula as sh
>>> pd.DataFrame(sol['shifts'], index=[0])
     obd  dyno
...
>>> df = pd.DataFrame(dict(sh.stack_nested_keys(sol['resampled'])))
>>> df.columns = df.columns.map('/'.join)
>>> df['ref/velocity'] *= 3.6
>>> ax = df.set_index('ref/time').plot(secondary_y='obd/engine_rpm')
>>> ax.set_ylabel('[km/h]'); ax.right_ax.set_ylabel('[RPM]')
Text(...)
setup-58plrwu3/pypi-1.*

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

syncing-1.0.9.tar.gz (20.4 kB 查看哈希值)

上传时间 源代码

构建发行版

syncing-1.0.9-py2.py3-none-any.whl (19.0 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页