Lösung: alle eingabearrays müssen die gleiche anzahl an dimensionen haben


Ein Fehler, der bei der Verwendung von NumPy auftreten kann, ist:

 ValueError : all the input arrays must have same number of dimensions

Dieser Fehler tritt auf, wenn Sie versuchen, zwei NumPy-Arrays unterschiedlicher Dimensionen zu verketten.

Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.

So reproduzieren Sie den Fehler

Angenommen, wir haben die folgenden zwei NumPy-Arrays:

 import numpy as np

#create first array
array1 = np. array ([[1, 2], [3, 4], [5,6], [7,8]])

print (array1) 

[[1 2]
 [3 4]
 [5 6]
 [7 8]]

#create second array 
array2 = np. array ([9,10,11,12])

print (array2)

[9 10 11 12]

Nehmen wir nun an, wir versuchen, die concatenate() -Funktion zu verwenden, um die beiden Arrays zu einem einzigen Array zu kombinieren:

 #attempt to concatenate the two arrays
n.p. concatenate ([array1, array2])

ValueError : all the input arrays must have same number of dimensions, but the array at
index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

Wir erhalten einen ValueError , da die beiden Arrays unterschiedliche Dimensionen haben.

So beheben Sie den Fehler

Wir können diesen Fehler mit zwei Methoden beheben.

Methode 1: Verwenden Sie np.column_stack

Eine Möglichkeit, die beiden Tabellen zu verketten und gleichzeitig Fehler zu vermeiden, besteht darin, die Funktion columns_stack() wie folgt zu verwenden:

 n.p. column_stack ((array1, array2))

array([[ 1, 2, 9],
       [3, 4, 10],
       [5, 6, 11],
       [7, 8, 12]])

Beachten Sie, dass wir die beiden Arrays erfolgreich und ohne Fehler verketten können.

Methode 2: Verwenden Sie np.c_

Wir können die beiden Tabellen auch verketten und dabei Fehler vermeiden, indem wir die Funktion np.c_ wie folgt verwenden:

 n.p. c_ [array1, array2]

array([[ 1, 2, 9],
       [3, 4, 10],
       [5, 6, 11],
       [7, 8, 12]])

Beachten Sie, dass diese Funktion genau das gleiche Ergebnis zurückgibt wie die vorherige Methode.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:

So beheben Sie KeyError in Pandas
So beheben Sie: ValueError: Float NaN kann nicht in int konvertiert werden
So beheben Sie: ValueError: Operanden konnten nicht mit Formen übertragen werden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert