Python |如何对两个测量值进行插值,以使x值相同

时间:2019-04-15 12:07:58

标签: python interpolation

我有两个测量值,分别由x和y值对组成。我想计算这两个系列之间的差异。问题是我不能简单地计算这两个测量值之间的差异,因为它们在x值中的采样是不同的。

Salary_Data_split = data[["Salary", Sal_name]]

我想分配一个新变量x = np.linspace(0,5,100,endpoint = True),然后通过在x的值上插值y1和y2来确定新的y1_new和y2_new。

我看过pandas.resample(),但是似乎可以使用时间戳。也许“ scipy.interpolate”可能会有所帮助,但我不确定这些功能。原则上,我知道如何在python中手工编程,但是我确信已经有了解决我问题的方法。

1 个答案:

答案 0 :(得分:1)

使用scipy.interpolate的示例为:

import scipy.interpolate as interp
import numpy as np
x1 = np.array([1, 2, 3, 4, 5])
y1 = np.array([1, 4, 9, 16, 25])
new_x1 = np.linspace(0, 5, 100, endpoint=True)
interpolated_1 = interp.interp1d(x1, y1, fill_value="extrapolate")
new_y1 = interpolated_1(new_x1)
new_y1

所有其他方法都或多或少地遵循相同的签名,如您在docs中所见。使用哪个,取决于您拥有的基础数据,例如,第一个看起来像二次方,第二个看起来像身份。