Nasıl düzeltilir? tüm giriş dizileri aynı sayıda boyuta sahip olmalıdır
NumPy’yi kullanırken karşılaşabileceğiniz bir hata:
ValueError : all the input arrays must have same number of dimensions
Bu hata, farklı boyutlardaki iki NumPy dizisini birleştirmeye çalıştığınızda ortaya çıkar.
Aşağıdaki örnekte bu hatanın pratikte nasıl düzeltileceği gösterilmektedir.
Hata nasıl yeniden oluşturulur?
Aşağıdaki iki NumPy dizisine sahip olduğumuzu varsayalım:
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]
Şimdi iki diziyi tek bir dizide birleştirmek için concatenate() işlevini kullanmaya çalıştığımızı varsayalım:
#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)
İki dizinin boyutları farklı olduğundan ValueError hatası alıyoruz.
Hata nasıl düzeltilir?
Bu hatayı düzeltmek için iki yöntem kullanabiliriz.
Yöntem 1: np.column_stack’ı kullanın
Hatalardan kaçınarak iki tabloyu birleştirmenin bir yolu , sütun_stack() işlevini aşağıdaki gibi kullanmaktır:
n.p. column_stack ((array1, array2))
array([[ 1, 2, 9],
[3, 4, 10],
[5, 6, 11],
[7, 8, 12]])
İki diziyi herhangi bir hata olmadan başarıyla birleştirebildiğimizi unutmayın.
Yöntem 2: np.c_ kullanın
Ayrıca np.c_ fonksiyonunu kullanarak hatalardan kaçınarak iki tabloyu aşağıdaki gibi birleştirebiliriz:
n.p. c_ [array1, array2]
array([[ 1, 2, 9],
[3, 4, 10],
[5, 6, 11],
[7, 8, 12]])
Bu fonksiyonun önceki yöntemle tamamen aynı sonucu döndürdüğünü unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı