Erstellen und Zugreifen auf ein strukturiertes Array
Zuerst erstellen wir ein einfaches strukturiertes Array. Der Datentyp (dtype) eines strukturierten Arrays wird als Liste von Tupeln definiert. Jedes Tupel spezifiziert ein Feld mit seinem (name, data_type). Dies ermöglicht es uns, verschiedene Datentypen wie Strings und Ganzzahlen im selben Array zu speichern.
Öffnen Sie die Datei structured_arrays.py aus dem Dateiexplorer im linken Bereich. Fügen Sie den folgenden Code hinzu, um ein strukturiertes Array zu erstellen, das eine Liste von Personen mit ihren Namen und Altersangaben darstellt.
## Create a structured array
data = np.array([('Alice', 25, 55.5), ('Bob', 30, 68.0)],
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
print("Original Array:")
print(data)
## Access a specific field by its name
names = data['name']
print("\nNames field:")
print(names)
Code-Erklärung:
import numpy as np: Diese Zeile importiert die NumPy-Bibliothek.
np.array([...], dtype=[...]): Wir erstellen ein Array. Das erste Argument ist eine Liste von Tupeln, wobei jedes Tupel ('Alice', 25, 55.5) eine Datenzeile darstellt.
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')]: Dies ist der entscheidende Teil. Wir definieren drei Felder:
'name': Ein Unicode-String mit einer maximalen Länge von 10 Zeichen (U10).
'age': Eine 4-Byte (32-Bit) Ganzzahl (i4).
'weight': Eine 4-Byte (32-Bit) Gleitkommazahl (f4).
data['name']: Wir können auf alle Werte eines bestimmten Feldes (Spalte) zugreifen, indem wir seinen Namen als Index verwenden, was ein neues NumPy-Array zurückgibt.
Speichern Sie nun die Datei und führen Sie sie im Terminal aus, um die Ausgabe zu sehen.
python structured_arrays.py
Sie sollten die folgende Ausgabe sehen, die das vollständige strukturierte Array und das Array, das nur die Namen enthält, anzeigt.
Original Array:
[('Alice', 25, 55.5) ('Bob', 30, 68. )]
Names field:
['Alice' 'Bob']