Python 如何插值一列数据以匹配另一列数据的形状?
对不起,如果标题让人困惑,我真的想不出如何简洁地表达它 我有两个Python 如何插值一列数据以匹配另一列数据的形状?,python,scipy,interpolation,Python,Scipy,Interpolation,对不起,如果标题让人困惑,我真的想不出如何简洁地表达它 我有两个xy文件,它们在x轴(0到130)上覆盖相同的范围,但是其中一个有109个样本,另一个有81个样本,格式如下: x1 data1 ... x109 data109 及 我想插值第二个,这样它也有109个样本,这将允许我直接比较x轴上每个给定位置的数据。或者甚至可以对它们进行插值,使它们每个都有大约100个样本 从一些研究中,我认为我会做我想要的,但是我有点困惑如何使它工作 任何帮助都将不胜感激。如果你知道另一种方法,我愿意接受。
xy
文件,它们在x轴(0到130)上覆盖相同的范围,但是其中一个有109个样本,另一个有81个样本,格式如下:
x1 data1
...
x109 data109
及
我想插值第二个,这样它也有109个样本,这将允许我直接比较x轴上每个给定位置的数据。或者甚至可以对它们进行插值,使它们每个都有大约100个样本
从一些研究中,我认为我会做我想要的,但是我有点困惑如何使它工作
任何帮助都将不胜感激。如果你知道另一种方法,我愿意接受。提前感谢。您链接到的
单变量样本
代码是一个较低级别的例程-可能最好用于您的案例
就您的数据而言,您应该能够使用读取文件,将列提取到numpy数组中,然后像这样使用interp1d
:
x1, y1 = np.loadtxt('file1.txt').transpose()
x2, y2 = np.loadtxt('file2.txt').transpose()
# interpolate (x2, y2) onto grid x1
from scipy.interpolate import interp1d
func = interp1d(x2, y2, kind='cubic')
y2_interp = func(x1)
x1, y1 = np.loadtxt('file1.txt').transpose()
x2, y2 = np.loadtxt('file2.txt').transpose()
# interpolate (x2, y2) onto grid x1
from scipy.interpolate import interp1d
func = interp1d(x2, y2, kind='cubic')
y2_interp = func(x1)