Wie kann ich ein dichtes NumPy-Array mit einem bestimmten Datentyp und ausgefüllten fehlenden Werten aus einer Folge von Listen variabler Länge erstellen?

Susan Sarandon
Freigeben: 2024-11-04 03:58:01
Original
594 Leute haben es durchsucht

How can I create a dense NumPy array with a specific data type and filled-in missing values from a sequence of variable-length lists?

Füllen fehlender Werte bei der NumPy-Array-Konvertierung

Beim Konvertieren einer Python-Sequenz von Listen variabler Länge in ein NumPy-Array wird das resultierende Array häufig beschädigt geht aufgrund der unterschiedlichen Länge der Listen von einem Objektdatentyp aus. Das Erzwingen eines bestimmten Datentyps wie int32 kann zu Fehlern führen.

Um effizient ein dichtes NumPy-Array mit einem bestimmten Datentyp und ausgefüllten fehlenden Werten zu erhalten, kann das Modul itertools verwendet werden. Insbesondere kann die Funktion „zip_longest“ verwendet werden, um die Listen mit einem Platzhalterwert aufzufüllen.

Zum Beispiel eine gegebene Sequenz v:

v = [[1], [1, 2]]
Nach dem Login kopieren

Um ein dichtes int32-Array mit Nullen als zu erstellen Platzhalter:

<code class="python">import itertools
np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Nach dem Login kopieren

Dieser Code erzeugt:

array([[1, 0],
       [1, 2]])
Nach dem Login kopieren

wo die fehlenden Werte im Original Die Reihenfolge wird mit Nullen aufgefüllt. Insbesondere für Python 2 lautet die zu verwendende Funktion itertools.izip_longest.

Das obige ist der detaillierte Inhalt vonWie kann ich ein dichtes NumPy-Array mit einem bestimmten Datentyp und ausgefüllten fehlenden Werten aus einer Folge von Listen variabler Länge erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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!