Cara memperbaiki: objek 'numpy.float64' tidak mendukung penetapan elemen


Kesalahan umum yang mungkin Anda temui saat menggunakan Python adalah:

 TypeError: 'numpy.float64' object does not support item assignment

Kesalahan ini biasanya terjadi ketika Anda mencoba menggunakan tanda kurung siku untuk menetapkan nilai baru ke variabel NumPy yang bertipe float64 .

Contoh berikut menunjukkan cara mengatasi kesalahan ini dalam praktiknya.

Bagaimana cara mereproduksi kesalahan tersebut

Katakanlah kita membuat variabel NumPy dengan nilai 15.22 dan mencoba menggunakan tanda kurung untuk memberikan nilai baru 13.7 :

 import numpy as np

#define some float value
one_float = np. float64 (15.22)

#attempt to modify float value to be 13.7
one_float[0] = 13.7

TypeError: 'numpy.float64' object does not support item assignment

Kami menerima kesalahan bahwa objek ‘numpy.float64’ tidak mendukung penugasan elemen .

Kami menerima kesalahan ini karena one_float adalah skalar tetapi kami mencoba memperlakukannya sebagai array tempat kami dapat menggunakan tanda kurung siku untuk mengubah nilai pada posisi indeks 0.

Karena one_float bukan array, kita tidak bisa menggunakan tanda kurung siku saat mencoba mengubah nilainya.

Bagaimana cara memperbaiki kesalahan tersebut

Cara untuk mengatasi kesalahan ini adalah dengan tidak menggunakan tanda kurung siku saat memberikan nilai baru ke float:

 #modify float value to be 13.7
one_float = 13.7

#view float
print (one_float)

13.7

Nilainya berhasil kita ubah dari 15.22 menjadi 13.7 karena tidak menggunakan tanda kurung.

Perhatikan bahwa tanda kurung siku dapat digunakan untuk mengubah nilai pada posisi indeks tertentu selama Anda bekerja dengan array.

Misalnya, kode berikut menunjukkan cara mengubah elemen pertama array NumPy dari 15.22 menjadi 13.7 menggunakan notasi braket:

 import numpy as np

#define a NumPy array of floats
many_floats = np. float64 ([15.22, 34.2, 15.4, 13.2, 33.4])

#modify float value in first index position of array to be 13.7
many_floats[0] = 13.7

#view updated array
print (many_floats)

[13.7 34.2 15.4 13.2 33.4]

Kali ini kami juga tidak menerima kesalahan karena kami bekerja dengan array NumPy, jadi masuk akal untuk menggunakan tanda kurung.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki dengan Python: Objek ‘numpy.ndarray’ tidak dapat dipanggil
Cara Memperbaiki: TypeError: Objek ‘numpy.float64’ tidak dapat dipanggil
Cara Memperbaiki: Kesalahan Ketik: Objek String atau Bytes yang Diharapkan

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *