Wie man die Summe der Werte in Array-Blöcken auswertet

Ich habe ein Datenarray mit der Form 100x100. Ich möchte es in 5x5 Blöcke teilen, und jeder Block hat 20x20 Gitter. Der Wert jedes gewünschten Blocks ist die Summe aller darin enthaltenen Werte.

ibt es einen eleganteren Weg, dies zu erreiche

x = np.arange(100)
y = np.arange(100)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.sin(Y)
Z_new = np.zeros((5, 5))
for i in range(5):
  for j in range(5):
    Z_new[i, j] = np.sum(Z[i*20:20+i*20, j*20:20+j*20])

Dies basiert auf dem Index, wie wäre es mit x?

x = np.linspace(0, 1, 100)
y = np.linspace(0, 1, 100)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.sin(Y)
x_new = np.linspace(0, 1, 15)
y_new = np.linspace(0, 1, 15)

Z_neu?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage