Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何插值一列数据以匹配另一列数据的形状?_Python_Scipy_Interpolation - Fatal编程技术网

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)