gpt4 book ai didi

python - 在 Pandas 中将一个时间序列插值到另一个时间序列

转载 作者:太空狗 更新时间:2023-10-29 22:08:03 25 4
gpt4 key购买 nike

我有一组定期测量的值。说:

import pandas as pd
import numpy as np
rng = pd.date_range('2013-01-01', periods=12, freq='H')
data = pd.Series(np.random.randn(len(rng)), index=rng)

还有另一组更随意的时间,例如,(实际上这些时间不是一个规则的序列)

ts_rng = pd.date_range('2013-01-01 01:11:21', periods=7, freq='87Min')
ts = pd.Series(index=ts_rng)

我想知道ts中各次插值的数据值
我可以在 numpy 中做到这一点:

x = np.asarray(ts_rng,dtype=np.float64)
xp = np.asarray(data.index,dtype=np.float64)
fp = np.asarray(data)
ts[:] = np.interp(x,xp,fp)

但我觉得 pandas 在 resamplereindex 等地方有这个功能,但我不太明白。

最佳答案

您可以连接两个时间序列并按索引排序。由于第二个系列中的值是NaN,您可以插值,然后只选择代表第二个系列中的点的值:

 pd.concat([data, ts]).sort_index().interpolate().reindex(ts.index)

 pd.concat([data, ts]).sort_index().interpolate()[ts.index]

关于python - 在 Pandas 中将一个时间序列插值到另一个时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com