python - 用相同的一维数组插入二维数组的每一行

标签 python arrays numpy interpolation

问题:如何用相同的一维数组对二维数组的每一行进行线性插值?

我有两组 x 坐标和一组 y 坐标矩阵,我想在没有循环的情况下执行此操作:

for k in range(len(y[:,0]))
    y_want = np.interp(x_want,x_have,y_have[k,:])
    y_new.append(y_want)

是否有内置的 numpy 函数可以执行此操作?

最佳答案

使用 scipy.interpolate.interp1d:

import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt

x=np.linspace(0,1,11)

y=np.vstack((np.sin(x),np.cos(x),np.log1p(x)))

xi=np.linspace(0,1,101)

intf= interp1d(x,y,axis=1)

yi=intf(xi)

plt.ioff()
plt.plot(x,y.T,'x',
         xi,yi.T)
plt.show()

关于python - 用相同的一维数组插入二维数组的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23719021/

相关文章:

python - 使用 sqlalchemy 的复合键关系

python - 如何在 matplotlib 中更改 x 轴和 y 轴?

python - 我怎样才能在某些条件下获得 numpy 数组索引

python - Numpy:如何迭代地将 3D 数组堆叠在行中?

python - 使用 Twisted Reactor 时如何获取错误消息?

python - 具有多个 iPyWidgets 下拉菜单的交互式 Covid 绘图

c - 如何从 C 中的 1 和 0 数组中获取十六进制数?

arrays - 在 golang 中将矩阵打印为字符串

arrays - 在 Swift 中从 Firebase 填充的多维数组

python - Numpy 性能 - 向量及其转置的外积