假设我有两个numpy 2D数组mins和maxs,它们的维度总是相同的。 我想创建第三个数组results,该数组是将linspace应用于最大最小值的结果。 是否有一些“numpy”/向量化方式来实现这一点? 下面是非向量化的示例代码,以展示我想要的结果。
import numpy as np
mins = np.random.rand(2,2)
maxs = np.random.rand(2,2)
# Number of elements in the linspace
x = 3
m, n = mins.shape
results = np.zeros((m, n, x))
for i in range(m):
for j in range(n):
min = mins[i][j]
max = maxs[i][j]
results[i][j] = np.linspace(min, max, num=x)
np.linspace(0,1,num=x)
的结果进行缩放? - hpauljmins[...,None] + (maxs-mins)[...,None]*np.linspace(0,1,num=x)
。这里使用广播来将linspace
按照mins
和maxs
进行缩放。 - hpaulj