Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich Listen mit variablen Längen in ein Numpy-Array in Python?

Wie konvertiere ich Listen mit variablen Längen in ein Numpy-Array in Python?

DDD
DDDOriginal
2024-10-20 13:11:30246Durchsuche

How to Convert Lists of Lists with Variable Lengths into a Numpy Array in Python?

Konvertieren einer Liste von Listen in ein Numpy-Array

In Python besteht eine häufige Aufgabe darin, in Listen von Listen gespeicherte Daten zu manipulieren. Manchmal ist es für eine effiziente Verarbeitung erforderlich, diese Daten in ein strukturiertes Format wie ein Numpy-Array zu konvertieren. Hier diskutieren wir verschiedene Ansätze, um diese Konvertierung durchzuführen, wenn die einzelnen Unterlisten unterschiedliche Längen haben.

1. Erstellen eines Arrays aus Arrays

Unterlisten unterschiedlicher Länge können als Array aus Arrays gespeichert werden. Jede Unterliste wird in ein Numpy-Array konvertiert, und dann werden diese Arrays zu einem größeren Array kombiniert:

<code class="python">x=[[1,2],[1,2,3],[1]]
y=numpy.array([numpy.array(xi) for xi in x])</code>

2. Erstellen eines Arrays von Listen

Ein Array von Listen kann erstellt werden, indem die Liste der Listen einfach direkt in ein Numpy-Array konvertiert wird:

<code class="python">x=[[1,2],[1,2,3],[1]]
y=numpy.array(x)</code>

3. Listenlängen ausgleichen

Wenn das gewünschte Ergebnis ein Numpy-Array mit gleichen Zeilenlängen ist, können die Unterlisten mit None-Werten aufgefüllt werden:

<code class="python">x=[[1,2],[1,2,3],[1]]
length = max(map(len, x))
y=numpy.array([xi+[None]*(length-len(xi)) for xi in x])</code>

Jeder dieser Ansätze bietet eine Möglichkeit um eine Liste von Listen mit unterschiedlichen Längen in ein Numpy-Array zu konvertieren, abhängig von den spezifischen Anforderungen und der gewünschten Datenstruktur.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Listen mit variablen Längen in ein Numpy-Array in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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