gpt4 book ai didi

pandas - 用于 Pandas 时间序列的 interp1d

转载 作者:行者123 更新时间:2023-12-05 02:58:32 24 4
gpt4 key购买 nike

我想在 pandas 时间序列中的时间之间进行插值。我想使用 scipy.interpolate.interp1d (或类似的)。 pandas.interpolate 函数是不可取的,因为它需要插入 nan 值,然后使用插值替换它们(从而修改数据集)。我尝试做的事情:

from datetime import datetime
import scipy.interpolate as si
import pandas as pd
d1 = datetime(2019, 1, 1)
d2 = datetime(2019, 1, 5)
d3 = datetime(2019, 1, 10)
df = pd.DataFrame([1, 4, 2], index=[d1, d2, d3], columns=['conc'])
import scipy.interpolate as si
f = si.interp1d(df.index, df.conc)
f(datetime(2019, 1, 3))

直到最后一行,一切都很好,在那里我得到一个 ValueError: object arrays are not supported。奇怪的是 f.x 很好地将日期显示为 dtype='datetime64[ns],所以我希望它能起作用。有人知道如何让它工作吗?

最佳答案

这可行,但可以说有点难看:

f = si.interp1d(pd.to_numeric(df.index), df.conc)
f(pd.to_numeric(pd.to_datetime(['2019-1-3'])))

关于pandas - 用于 Pandas 时间序列的 interp1d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937981/

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