Wie erstelle ich ein dichtes NumPy-Array aus Listen variabler Länge?

Susan Sarandon
Freigeben: 2024-11-04 08:32:01
Original
903 Leute haben es durchsucht

How to Create a Dense NumPy Array from Variable-Length Lists?

Generieren eines dichten NumPy-Arrays aus Listen variabler Länge

Die Standardkonvertierung einer Python-Sequenz, die Listen variabler Länge enthält, in ein NumPy-Array erstellt ein Array vom Objekttyp. Das Erzwingen eines anderen Datentyps löst einen ValueError aus. Dieser Artikel zeigt eine effiziente Methode zum Generieren eines dichten NumPy-Arrays vom Typ int32 durch Auffüllen fehlender Werte mit einem Platzhalter.

Um eine Listensequenz variabler Länge in ein NumPy-Array zu konvertieren, kann man itertools.zip_longest verwenden Funktion aus dem itertools-Modul. Diese Funktion durchläuft die Listen und stoppt, wenn die kürzeste Liste erschöpft ist. Es füllt fehlende Werte in längeren Listen mit einem Platzhalterwert auf, der durch das Argument fillvalue angegeben wird.

Betrachten Sie beispielsweise die folgende Sequenz von Listen variabler Länge:

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

Um ein dichtes NumPy zu generieren Um ein Array aus dieser Sequenz mit einem Platzhalterwert von 0 zu erstellen, kann man den folgenden Code verwenden:

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

Die Ausgabe dieses Codes ist ein NumPy-Array vom Typ int32, wobei fehlende Werte durch 0 ersetzt werden:

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

Diese Methode bietet eine effiziente Möglichkeit, Listen variabler Länge bei der Konvertierung in NumPy-Arrays zu verarbeiten, die Datentypkonsistenz sicherzustellen und fehlende Werte mit gewünschten Platzhaltern zu füllen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein dichtes NumPy-Array aus Listen variabler Länge?. 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!