Wie kombiniere ich NumPy-Arrays mit verschiedenen Datentypen und behalte dabei die Datentypen bei?

Susan Sarandon
Freigeben: 2024-10-21 17:59:18
Original
526 Leute haben es durchsucht

How to Combine NumPy Arrays with Different Datatypes While Preserving Data Types?

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>
Nach dem Login kopieren

Ausgabe:

rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ausgabe:

array([('a', 0), ('b', 1)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!