如何重新采样和插值(三次样条)时间序列数据

公交车

我需要重新采样时间序列到固定的间隔,例如。3个月并同时使用三次样条法进行插值。什么是最有效的方法?样本数据:

dates = ('2020-09-24','2020-10-19','2020-12-17','2021-03-17','2021-06-17','2021-09-17','2022-03-17','2022-09-20','2023-09-19','2024-09-17','2025-09-17','2026-09-17','2027-09-17','2028-09-19','2029-09-18','2030-09-17','2031-09-17','2032-09-17','2035-09-18','2040-09-18','2045-09-19')
factors = ('1','0.999994','0.999875','1.000166','1.000303','1.000438','1.00056','1.000817','1.001046','1.001412','1.001525','1.001334','1.000685','0.999376','0.997456','0.994626','0.991244','0.986754','0.982072','0.962028','0.925136')
df = pd.DataFrame()
df['dates']=dates
df['factors']=factors
格雷里尔

尝试这个:

import pandas as pd
from datetime import timedelta

dates = ('2020-09-24','2020-10-19','2020-12-17','2021-03-17','2021-06-17','2021-09-17','2022-03-17','2022-09-20','2023-09-19','2
024-09-17','2025-09-17','2026-09-17','2027-09-17','2028-09-19','2029-09-18','2030-09-17','2031-09-17','2032-09-17','2035-09-18',
'2040-09-18','2045-09-19')
factors = ('1','0.999994','0.999875','1.000166','1.000303','1.000438','1.00056','1.000817','1.001046','1.001412','1.001525','1.0
01334','1.000685','0.999376','0.997456','0.994626','0.991244','0.986754','0.982072','0.962028','0.925136')
df = pd.DataFrame()
df['dates']=dates
df['factors']=factors


df = pd.DataFrame()
df['dates']=dates
df['factors']=factors

df['dates'] = pd.to_datetime(df['dates'])
df.set_index(['dates'],inplace=True)
df['factors']  = df['factors'].astype(float)

df = df.resample('3MS', loffset=timedelta(days=df.index[0].day - 1 )).mean().interpolate(method='cubic')
print(df)

输出:

dates               
2020-09-24  0.999997
2020-12-24  0.999875
2021-03-24  1.000166
2021-06-24  1.000303
2021-09-24  1.000438
...              ...
2044-09-24  0.933154
2044-12-24  0.931170
2045-03-24  0.929196
2045-06-24  0.927170
2045-09-24  0.925136

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

三次隐士样条插值python

来自分类Dev

Modelica中的三次样条插值

来自分类Dev

VBA Excel逆三次样条插值

来自分类Dev

计算三次样条插值中的矩阵

来自分类Dev

三次样条插值中途退出

来自分类Dev

查看三次样条 (R) 的插值

来自分类Dev

如何使用三次样条插值法在Java中获得曲线?

来自分类Dev

如何在scipy.interpolate中设置三次样条插值的第一个和最后一个斜率?

来自分类Dev

三次样条插值法用大于以下值的值填充NaN

来自分类Dev

熊猫插值方法“三次”-样条还是多项式?

来自分类Dev

使用样条插值处理缺少的时间序列数据

来自分类Dev

图像的三次三次插值

来自分类Dev

图像的三次三次插值

来自分类Dev

纵向样条数据的三次样条法?

来自分类Dev

插值时间序列并重新采样/枢轴。如何获得预期的输出

来自分类Dev

了解三次插值的实现

来自分类Dev

了解三次插值的实现

来自分类Dev

Matlab中二维矩阵的双线性和三次三次插值

来自分类Dev

重新采样时间序列数据

来自分类Dev

如何在Matplotlib中绘制三次样条

来自分类Dev

三次/五次线性插值

来自分类Dev

Matplotlib:等高线图的数据三次插值(或FIT)

来自分类Dev

不定大小-试图了解双三次插值

来自分类Dev

在Matlab中解释双三次插值?

来自分类Dev

Modelica中的双三次插值

来自分类Dev

Modelica中的双三次插值

来自分类Dev

返回双三次插值的系数

来自分类Dev

如何对时间序列熊猫数据帧重新采样?

来自分类Dev

三次样条记忆错误