Cara memperbaiki: typeerror: tidak dapat dikurangi dengan tipe fleksibel
Kesalahan yang mungkin Anda temui saat menggunakan Python adalah:
ValueError : cannot perform reduce with flexible type
Kesalahan ini terjadi ketika Anda mencoba melakukan penghitungan pada objek dengan Python yang bukan numerik.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita memiliki array NumPy berikut:
import numpy as np #define NumPy array of values data = np. array (['1', '2', '3', '4', '7', '9', '10', '12']) #attempt to calculate median of values n.p. median (data) TypeError : cannot perform reduce with flexible type
Kami menerima TypeError karena kami mencoba menghitung median dari daftar nilai string.
Bagaimana cara memperbaiki kesalahan tersebut
Cara termudah untuk memperbaiki kesalahan ini adalah dengan mengonversi array NumPy menjadi objek float sehingga kita dapat melakukan operasi matematika padanya.
Kode berikut menunjukkan cara melakukan ini:
#convert NumPy array of string values to float values
data_new = data. astype (float)
#view updated NumPy array
data_new
array([ 1., 2., 3., 4., 7., 9., 10., 12.])
#check data type of array
data_new. dtype
dtype('float64')
Sekarang kita dapat melakukan operasi matematika pada array NumPy:
#calculate median value of array
n.p. median (data_new)
5.5
#calculate mean value of array
n.p. mean (data_new)
6.0
#calculate max value of array
n.p. max (data_new)
12.0
Perhatikan bahwa kami tidak menerima kesalahan apa pun karena array NumPy adalah objek float, yang berarti kami dapat melakukan operasi matematika padanya.
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