Heim >Backend-Entwicklung >Python-Tutorial >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?
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]]
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>
Dieser Code erzeugt:
array([[1, 0], [1, 2]])
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!