Mehrere Datentypen in einem einzelnen NumPy-Array speichern
Sie stehen vor der Herausforderung, zwei Arrays zu kombinieren, eines mit Zeichenfolgen und das andere Ganzzahlen enthaltend, in einem einzigen Array. Während Ihr aktueller Ansatz, np.concatenate zu verwenden, dazu führt, dass das gesamte Array in einen String-D-Typ konvertiert wird, suchen Sie nach einer effizienteren Lösung.
Arrays aufzeichnen:
Eins Ein effektiver Ansatz besteht darin, Datensatzarrays zu nutzen. Dadurch können Sie „Spalten“ erstellen, die ihre ursprünglichen Datentypen beibehalten. Datensatzarrays werden mit der Funktion numpy.rec.fromarrays erstellt und nehmen Arrays an, die jede Spalte zusammen mit ihren entsprechenden Feldnamen darstellen.
<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) # rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], # dtype=[('keys', '|S1'), ('data', '<i8')])</code>
Strukturierte Arrays:
Andere Option besteht darin, strukturierte Arrays zu verwenden, die mit einem benutzerdefinierten Datentyp deklariert werden. Sie verfügen zwar nicht über den durch Datensatz-Arrays bereitgestellten Attributzugriff, bieten aber eine effizientere Darstellung.
<code class="python">arr = np.array([('a', 0), ('b', 1)], dtype=([('keys', '|S1'), ('data', 'i8')])) print(arr) # array([('a', 0), ('b', 1)], # dtype=[('keys', '|S1'), ('data', '<i8')])</code>
Durch die Verwendung von Datensätzen oder strukturierten Arrays je nach Ihren spezifischen Anforderungen können Sie mehrere Datentypen effektiv in einem einzigen NumPy speichern Array unter Beibehaltung ihrer ursprünglichen dtypes.
Das obige ist der detaillierte Inhalt vonWie speichere ich mehrere Datentypen in einem einzelnen NumPy-Array mit beibehaltenen Originaldatentypen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!