Jetzt gehen wir zu einer fortgeschritteneren Umformung über, indem wir dreidimensionale Arrays erstellen. Dreidimensionale Arrays sind im Wesentlichen Arrays von zweidimensionalen Arrays und eignen sich gut für die Darstellung von Volumen, Zeitreihen von Bildern oder anderen komplexen Datenstrukturen.
Fügen Sie den folgenden Code in Ihre Datei numpy_reshape.py
ein:
import numpy as np
## Create a simple 1D array
original_array = np.arange(24)
print("Original 1D array:")
print(original_array)
print("Shape of the original array:", original_array.shape)
print("-" * 50) ## Separator line
## Reshape into a 3D array with dimensions 2x3x4
## This creates 2 blocks, each with 3 rows and 4 columns
reshaped_3d = np.reshape(original_array, (2, 3, 4))
print("Reshaped 3D array (2x3x4):")
print(reshaped_3d)
print("Shape of the 3D array:", reshaped_3d.shape)
print("Dimensions of the 3D array:", reshaped_3d.ndim)
print("-" * 50) ## Separator line
## Accessing elements in a 3D array
print("First block of the 3D array:")
print(reshaped_3d[0])
print("\nSecond block of the 3D array:")
print(reshaped_3d[1])
print("\nElement at position [1,2,3] (second block, third row, fourth column):")
print(reshaped_3d[1, 2, 3])
Führen Sie Ihr Skript erneut aus:
python3 numpy_reshape.py
Die Ausgabe zeigt, wie ein eindimensionales Array mit 24 Elementen in eine dreidimensionale Struktur umgewandelt werden kann. Diese Struktur kann als 2 Blöcke visualisiert werden, wobei jeder Block eine 3×4-Matrix enthält.
Verständnis von dreidimensionalen Arrays:
- Die erste Dimension (2) repräsentiert die Anzahl der "Blöcke" oder "Schichten".
- Die zweite Dimension (3) repräsentiert die Anzahl der Zeilen in jedem Block.
- Die dritte Dimension (4) repräsentiert die Anzahl der Spalten in jeder Zeile.
Diese Struktur ist besonders nützlich für die Bildverarbeitung (wobei jeder "Block" ein Farbkanal sein könnte), Zeitreihendaten (wobei jeder "Block" ein Zeitpunkt sein könnte) oder andere Szenarien, die mehrere Matrizen erfordern.