Heim  >  Artikel  >  Backend-Entwicklung  >  Wie speichere ich mehrere Datentypen in einem einzelnen NumPy-Array mit beibehaltenen Originaldatentypen?

Wie speichere ich mehrere Datentypen in einem einzelnen NumPy-Array mit beibehaltenen Originaldatentypen?

DDD
DDDOriginal
2024-10-21 17:56:45646Durchsuche

How to Store Multiple Data Types in a Single NumPy Array with Preserved Original Data Types?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn