pandas 使用 Dataframe 最近点的 Dataframe 点之间的线性插值

izkcnapc  于 2023-02-02  发布在  其他
关注(0)|答案(1)|浏览(186)

我需要一个快速的解决方案来在数据框的最近点之间进行插值,而不需要在数据框中添加新点,如果有大量数据-数百万个点(没有NAN)。
例如,我有一个包含以下列的 Dataframe :

x | y
-----
0 | 1
1 | 2
2 | 3
...

我需要一个函数,它可以对给定的x_input值进行处理,x_input值计算为最近点之间的线性插值,如下所示:
calc_linear(df, cinput_col = 'x', input_val=1.5, output_col=y)将输出2.5 -作为给定x的y插值
也许Pandas也有这样的功能?

0g0grzrc

0g0grzrc1#

使用numpy.interp

import numpy as np

def calc_linear(df, input_val, input_col='x', output_col='y'):
    return np.interp(input_val, df[input_col], df[output_col])

y = calc_linear(df, 1.5)
print(y)

# Output
2.5

相关问题