Jak naprawić: wszystkie tablice wejściowe muszą mieć tę samą liczbę wymiarów


Błąd, który możesz napotkać podczas korzystania z NumPy, to:

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

Ten błąd występuje podczas próby połączenia dwóch tablic NumPy o różnych wymiarach.

Poniższy przykład pokazuje, jak w praktyce skorygować ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następujące dwie tablice NumPy:

 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]

Załóżmy teraz, że spróbujemy użyć funkcji concatenate() w celu połączenia dwóch tablic w jedną:

 #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)

Otrzymujemy błąd ValueError , ponieważ dwie tablice mają różne wymiary.

Jak naprawić błąd

Możemy użyć dwóch metod naprawienia tego błędu.

Metoda 1: Użyj np.column_stack

Jednym ze sposobów połączenia dwóch tabel i uniknięcia błędów jest użycie funkcji kolumny_stack() w następujący sposób:

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

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

Zauważ, że jesteśmy w stanie pomyślnie połączyć dwie tablice bez żadnych błędów.

Metoda 2: Użyj np.c_

Możemy także połączyć obie tabele, unikając błędów, używając funkcji np.c_ w następujący sposób:

 n.p. c_ [array1, array2]

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

Należy pamiętać, że ta funkcja zwraca dokładnie ten sam wynik, co poprzednia metoda.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w Pythonie:

Jak naprawić błąd KeyError w Pandach
Jak naprawić: ValueError: Nie można przekonwertować float NaN na int
Jak naprawić: Błąd wartości: Nie można rozgłaszać argumentów z kształtami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *