Heim >Backend-Entwicklung >Python-Tutorial >Wie kombiniere ich NumPy-Arrays mit verschiedenen Datentypen und behalte dabei die Datentypen bei?
Kombinieren von Arrays mit mehreren Datentypen in NumPy
Der Wunsch, Arrays mit verschiedenen Datentypen in einem einzigen Array mit entsprechenden Datentypen in jeder Spalte zu verketten, stellt sich eine Herausforderung. Ein gängiger Ansatz, bei dem np.concatenate() verwendet wird, konvertiert leider das gesamte Array in den String-Datentyp, was zu Speicherineffizienzen führt.
Um diese Einschränkung zu überwinden, besteht eine praktikable Lösung darin, Datensatz-Arrays oder strukturierte Arrays zu verwenden.
Datensatzarrays
Datensatzarrays ermöglichen den Zugriff auf einzelne Datenfelder über Attribute. Durch Angabe des Datentyps jedes Felds können mehrere Datentypen in einem einzigen Array kombiniert werden:
<code class="python">import numpy as np a = np.array(['a', 'b', 'c', 'd', 'e']) b = np.arange(5) records = np.rec.fromarrays((a, b), names=('keys', 'data')) print(records)</code>
Ausgabe:
rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], dtype=[('keys', '|S1'), ('data', '<i8')])
Strukturierte Arrays
Strukturierte Arrays sind ähnlich und bieten die Möglichkeit, den Datentyp jeder Spalte zu definieren. Sie unterstützen jedoch keinen Attributzugriff wie Datensatz-Arrays:
<code class="python">arr = np.array([('a', 0), ('b', 1)], dtype=([('keys', '|S1'), ('data', 'i8')])) print(arr)</code>
Ausgabe:
array([('a', 0), ('b', 1)], dtype=[('keys', '|S1'), ('data', '<i8')])
Auswahl zwischen Datensatz- und strukturierten Arrays
Die Wahl zwischen Datensatzarrays und strukturierten Arrays hängt von den einzelnen Anwendungsfällen ab. Datensatzarrays bieten Komfort beim Attributzugriff, während strukturierte Arrays für komplexere Datenstrukturen bevorzugt werden können. Beide Ansätze bieten eine bequeme Möglichkeit, Arrays mit unterschiedlichen Datentypen in NumPy zu kombinieren und bieten so Flexibilität und Effizienz bei der Datenbearbeitung.
Das obige ist der detaillierte Inhalt vonWie kombiniere ich NumPy-Arrays mit verschiedenen Datentypen und behalte dabei die Datentypen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!