Cara memperbaiki: objek 'numpy.float64' tidak dapat diubah


Kesalahan yang mungkin Anda temui saat menggunakan NumPy adalah:

 TypeError : 'numpy.float64' object is not iterable

Kesalahan ini terjadi ketika Anda mencoba melakukan operasi berulang pada nilai float di NumPy, yang tidak mungkin dilakukan.

Contoh berikut menunjukkan cara mengatasi kesalahan ini dalam praktiknya.

Bagaimana cara mereproduksi kesalahan tersebut

Misalkan kita memiliki array NumPy berikut:

 import numpy as np

#define array of data
data = np. array ([1.3, 1.5, 1.6, 1.9, 2.2, 2.5])

#display array of data
print (data)

[1.3 1.5 1.6 1.9 2.2 2.5]

Sekarang misalkan kita mencoba mencetak jumlah setiap nilai dalam array:

 #attempt to print the sum of every value
for i in data:
    print (sum(i))

TypeError : 'numpy.float64' object is not iterable

Kami menerima kesalahan karena kami mencoba melakukan iteratif (mengambil jumlah nilai) pada setiap nilai float individual dalam array.

Bagaimana cara memperbaiki kesalahan tersebut

Kita dapat menghindari kesalahan ini dengan dua cara:

1. Lakukan operasi non-iteratif pada setiap nilai dalam array.

Misalnya, kita bisa mencetak setiap nilai dalam array:

 #print every value in array
for i in data:
    print (i)

1.3
1.5
1.6
1.9
2.2
2.5

Kami tidak menerima kesalahan karena kami belum mencoba mengulangi setiap nilai.

2. Lakukan operasi berulang pada array multidimensi.

Kita juga dapat menghindari kesalahan dengan melakukan operasi berulang pada array multidimensi:

 #create multi-dimensional array
data2 = np. array ([[1.3, 1.5], [1.6, 1.9], [2.2, 2.5]])

#print sum of each element in array
for i in data2:
    print (sum(i))

2.8
3.5
4.7

Kami tidak mendapatkan kesalahan karena masuk akal untuk menggunakan fungsi sum() pada array multidimensi.

Secara khusus, berikut adalah cara NumPy menghitung nilai penjumlahan:

  • 1,3 + 1,5 = 2,8
  • 1,6 + 1,9 = 3,5
  • 2,2 + 2,5 = 4,7

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

Tambahkan komentar

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