python - 在时间序列中查找周期
问题描述
我有以下时间序列:
从图中我可以注意到数据是周期性的,因为峰(我们称它们为谷,因为我说的是下降的峰)具有或多或少相同的距离。有没有办法找到周期,表示为每个峰值之间的点数。我不需要一个非常精确的数字,一个估计就足够了。
解决方案
您可以像这样尝试pandas.infer_freq:
>>> import pandas as pd
>>> ts_data = pd.read_csv("ts_data.csv")
>>> pd.infer_freq(ts_data.index.values)
4
或者,我建议使用findfrequency
Rforecast
包。
推荐阅读
- bluetooth - 在蓝牙 (BLE) 中,外围设备可以根据中心的读取请求发送多少数据包?
- c# - 如何在 Dot Net Core 中将 DI 用于第 3 方静态类?
- java - Java RegEx 匹配器会破坏 BMP 之外的字符
- python-3.x - 如何提高 Cloud Vision 的 PDF/Tiff 性能?
- sql-server - 如何在 T-SQL 中清理字符串并提取数字后缀
- python - 为什么不对结果进行排序?
- fluid - 在一个系统组件中重新声明两个中包
- grails - 优化列表 grails 数据表的显示
- ms-access - 在 Visual C++ 中创建 Access 数据库
- php - 我的 jQuery 隐藏/查看功能有效,但如果通过另一个脚本执行则无效