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]]
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>
Die Ausgabe dieses Codes ist ein NumPy-Array vom Typ int32, wobei fehlende Werte durch 0 ersetzt werden:
array([[1, 0], [1, 2]])
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!