Angenommen, ich habe 2 numplige 2D-Arrays, Mins und Maxs, die immer die gleiche Dimension haben. Ich möchte ein drittes Array erstellen, results, das ist das Ergebnis der Anwendung von linspace auf max und min Wert. Gibt es eine "numpige"/vektorisierte Möglichkeit, dies zu tun? Beispiel nicht-vektorisierter Code ist unten, um Ergebnisse zu zeigen, die ich möchte.Vectorized NumPy linspace über mehrdimensionale Arrays
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)
Wie wäre es, die Ergebnisse von 'np.linspace Skalierung (0,1, num = x) '? – hpaulj
Wie würde ich in diesem Fall die Min- und Max-Werte erhalten? – holtc
'mins [..., keine] + (maxs-mins) [..., keine] * np.linspace (0,1, num = x)'. Dies verwendet Broadcasting, um den "lnnenraum" um die "Mins" und "Maxs" zu skalieren. – hpaulj