Nasıl düzeltilir? typeerror: esnek türle azaltılamıyor


Python kullanırken karşılaşabileceğiniz bir hata:

 ValueError : cannot perform reduce with flexible type

Bu hata, Python’da sayısal olmayan bir nesne üzerinde hesaplama yapmaya çalıştığınızda ortaya çıkar.

Aşağıdaki örnekte bu hatanın pratikte nasıl düzeltileceği gösterilmektedir.

Hata nasıl yeniden oluşturulur?

Aşağıdaki NumPy dizisine sahip olduğumuzu varsayalım:

 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

Dize değerleri listesinin medyanını hesaplamaya çalıştığımız için TypeError alıyoruz.

Hata nasıl düzeltilir?

Bu hatayı düzeltmenin en kolay yolu, NumPy dizisini üzerinde matematiksel işlemler gerçekleştirebilmemiz için bir kayan nesneye dönüştürmektir.

Aşağıdaki kod bunun nasıl yapılacağını gösterir:

 #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')

Artık NumPy dizisinde matematiksel işlemler yapabiliriz:

 #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

NumPy dizisinin bir kayan nesne olması nedeniyle herhangi bir hata almadığımızı unutmayın, bu da onun üzerinde matematiksel işlemler yapabileceğimiz anlamına gelir.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir