【发布时间】:2011-10-13 14:40:29
【问题描述】:
我有一个数组,我想在第一个轴上进行插值。目前我正在这样做:
import numpy as np
from scipy.interpolate import interp1d
array = np.random.randint(0, 9, size=(100, 100, 100))
new_array = np.zeros((1000, 100, 100))
x = np.arange(0, 100, 1)
x_new = np.arange(0, 100, 0.1)
for i in x:
for j in x:
f = interp1d(x, array[:, i, j])
new_array[:, i, j] = f(xnew)
我使用的数据代表一个域中每个纬度和经度的 10 年 5 天平均值。我想创建一个每日值数组。
我也尝试过使用样条线。我真的不知道它们是如何工作的,但速度并不快。
有没有办法在不使用 for 循环的情况下做到这一点? 如果必须使用 for 循环,还有其他方法可以加快速度吗?
提前感谢您的任何建议。
【问题讨论】:
标签: python arrays numpy scipy interpolation