如何插值一列数据以匹配另一列数据的形状?

2024-04-26 07:37:34 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉,如果标题让人困惑,我真的想不出如何简洁地表达它。你知道吗

我有两个xy文件,它们在x轴(0到130)上覆盖相同的范围,但是其中一个有109个样本,另一个有81个-格式如下:

x1 data1
...
x109 data109 

以及

x1 data1
...
x81 data81

我想插值的第二个,所以它也有109个样本,这将允许我直接比较数据在每个给定的位置沿x轴。或者甚至对它们进行插值,使它们每个都有100个样本。你知道吗

通过一点研究,我认为我会做我想要做的事情,但是我有点困惑如何让它工作。你知道吗

任何帮助都将不胜感激。如果你知道另一种方法,我愿意。提前谢谢。你知道吗


Tags: 文件数据标题格式事情插值样本x1
1条回答
网友
1楼 · 发布于 2024-04-26 07:37:34

您链接到的UnivariateSpline代码是一个较低级别的例程—在您的情况下使用^{}可能更好。你知道吗

就您的数据而言,您应该能够使用^{}读取文件,将列提取到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)

相关问题 更多 >