Python 如何插值数据帧,以便在给定间隔内对列进行采样?

Python 如何插值数据帧,以便在给定间隔内对列进行采样?,python,pandas,numpy,Python,Pandas,Numpy,我有一些数据帧: time data 1 1 2 2 3.5 3 4.22 5 9.1 3 10.2 4 时间一定在上升 我想要一个数据帧,其中时间列在给定范围内进行插值(开始、停止、步进),并通过某种插值方法对数据列进行相应采样 我希望可以进行外推,这意味着我希望start或stop能够低于最小时间值或大于最大时间值 我该怎么做 我可以接受numpy解决方案,但如果可能的话,我更愿意只呆在pandas内。使用自定义插值函数。大致如下:

我有一些数据帧:

time    data
1       1
2       2
3.5     3
4.22    5
9.1     3
10.2    4
时间一定在上升

我想要一个数据帧,其中时间列在给定范围内进行插值
(开始、停止、步进)
,并通过某种插值方法对数据列进行相应采样

我希望可以进行外推,这意味着我希望
start
stop
能够低于最小时间值或大于最大时间值

我该怎么做


我可以接受numpy解决方案,但如果可能的话,我更愿意只呆在pandas内。

使用自定义插值函数。大致如下:

from scipy.interpolate import interp1d
def interpolator(g: pd.Series):
    x = [...]
    y = [...]
    interpolated_array = interp1d(x, y, bounds_error=False, fill_value=0)(g)
    return interpolated_array

grouped = df.groupby('column_a')
df['column_intepolated'] = grouped['column_b'].transform(interpolator)

如果您想尝试一下,并努力适应您的数据,请发表评论,我将在这里发布

df=df.interpolate()。反正我也没看到。存在非
nan
。我想产生新的价值观。