Bitte nicht von der Menge abschrecken lassen! Sind sehr simple Daten und ein vollständiger Minimalcode!
Und zwar habe ich ein (3, 2, 2)-Array, dessen drei 2D-Subarrays ich ohne Schleifen um 0°, 90° bzw. 180° drehen möchte:
Code: Alles auswählen
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([[[2,3],
[3,3]],
[[4,5],
[5,5]],
[[6,7],
[7,7]]])
for k in np.arange(3):
plt.imshow(arr[k,:,:], cmap='gray', vmin=2, vmax=7)
plt.show()
Code: Alles auswählen
x_ = np.array([[[0,1],
[0,1]],
[[0,1],
[0,1]],
[[0,1],
[0,1]]])
y_ = np.array([[[0,0],
[1,1]],
[[0,0],
[1,1]],
[[0,0],
[1,1]]])
Code: Alles auswählen
x_rot = np.array([[[0,1],
[0,1]],
[[1,1],
[0,0]],
[[1,0],
[1,0]]])
y_rot = np.array([[[0,0],
[1,1]],
[[0,1],
[0,1]],
[[1,1],
[0,0]]])
Code: Alles auswählen
arr_rot = np.zeros((3, 2, 2), dtype=int)
arr_rot[:, x_, y_] = arr[:, x_rot, y_rot]
for k in np.arange(3):
plt.imshow(arr_rot[k,:,:], cmap='gray', vmin=2, vmax=7)
plt.show()
Freue mich über jede Hilfe!