Cara memperbaiki: valueerror: mengatur elemen array dengan urutan
Kesalahan yang mungkin Anda temui saat menggunakan Python adalah:
ValueError : setting an array element with a sequence.
Kesalahan ini biasanya terjadi ketika mencoba mengelompokkan beberapa angka ke dalam satu posisi dalam array NumPy.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita memiliki array NumPy berikut:
import numpy as np #create NumPy array data = np. array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Sekarang misalkan kita mencoba menempatkan dua angka pada posisi pertama array:
#attempt to cram values '4' and '5' both into first position of NumPy array
data[0] = np. array ([4,5])
ValueError : setting an array element with a sequence.
Kesalahan ini memberi tahu kita apa kesalahan yang kita lakukan: kita mencoba mendefinisikan elemen array NumPy dengan urutan nilai.
Secara khusus, kami mencoba menempatkan nilai “4” dan “5” di posisi pertama array NumPy.
Ini tidak mungkin, jadi kami menerima kesalahan.
Bagaimana cara memperbaiki kesalahan tersebut
Cara untuk memperbaiki kesalahan ini adalah dengan memberikan nilai ke posisi pertama array:
#assign the value '4' to the first position of the array
data[0] = np. array ([4])
#view updated array
data
array([ 4, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Perhatikan bahwa kami tidak menerima kesalahan apa pun.
Jika kita benar-benar ingin menetapkan dua nilai baru ke elemen array, kita perlu menggunakan sintaks berikut:
#assign the values '4' and '5' to the first two positions of the array
data[0:2] = np. array ([4, 5])
#view updated array
data
array([ 4, 5, 3, 4, 5, 6, 7, 8, 9, 10])
Perhatikan bahwa dua nilai pertama dalam tabel telah diubah, sementara semua nilai lainnya tetap sama.
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