Cara memperbaikinya: semua array input harus memiliki jumlah dimensi yang sama
Kesalahan yang mungkin Anda temui saat menggunakan NumPy adalah:
ValueError : all the input arrays must have same number of dimensions
Kesalahan ini terjadi ketika Anda mencoba menggabungkan dua larik NumPy dengan dimensi berbeda.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita memiliki dua array NumPy berikut:
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]
Sekarang misalkan kita mencoba menggunakan fungsi concatenate() untuk menggabungkan dua array menjadi satu array:
#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)
Kami menerima ValueError karena kedua array memiliki dimensi yang berbeda.
Bagaimana cara memperbaiki kesalahan tersebut
Kita dapat menggunakan dua metode untuk memperbaiki kesalahan ini.
Metode 1: Gunakan np.column_stack
Salah satu cara untuk menggabungkan kedua tabel sambil menghindari kesalahan adalah dengan menggunakan fungsi kolom_stack() sebagai berikut:
n.p. column_stack ((array1, array2))
array([[ 1, 2, 9],
[3, 4, 10],
[5, 6, 11],
[7, 8, 12]])
Perhatikan bahwa kami berhasil menggabungkan kedua array tanpa kesalahan apa pun.
Metode 2: Gunakan np.c_
Kita juga dapat menggabungkan kedua tabel sambil menghindari kesalahan menggunakan fungsi np.c_ sebagai berikut:
n.p. c_ [array1, array2]
array([[ 1, 2, 9],
[3, 4, 10],
[5, 6, 11],
[7, 8, 12]])
Perhatikan bahwa fungsi ini mengembalikan hasil yang persis sama dengan metode sebelumnya.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:
Cara Memperbaiki KeyError di Pandas
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int
Cara Memperbaiki: ValueError: Operan tidak dapat disiarkan dengan bentuk