So beheben sie folgendes: typeerror: reduzierung mit flexiblem typ nicht möglich
Ein Fehler, der bei der Verwendung von Python auftreten kann, ist:
ValueError : cannot perform reduce with flexible type
Dieser Fehler tritt auf, wenn Sie versuchen, eine Berechnung für ein Objekt in Python durchzuführen, das nicht numerisch ist.
Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.
So reproduzieren Sie den Fehler
Angenommen, wir haben das folgende NumPy-Array:
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
Wir erhalten einen TypeError, weil wir versucht haben, den Median einer Liste von Zeichenfolgenwerten zu berechnen.
So beheben Sie den Fehler
Der einfachste Weg, diesen Fehler zu beheben, besteht darin, das NumPy-Array einfach in ein Float-Objekt zu konvertieren, damit wir mathematische Operationen daran ausführen können.
Der folgende Code zeigt, wie das geht:
#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')
Wir können jetzt mathematische Operationen am NumPy-Array durchführen:
#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
Beachten Sie, dass wir keine Fehler erhalten, da das NumPy-Array ein Float-Objekt ist, was bedeutet, dass wir mathematische Operationen daran ausführen können.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:
So beheben Sie KeyError in Pandas
So beheben Sie: ValueError: Float NaN kann nicht in int konvertiert werden
So beheben Sie: ValueError: Operanden konnten nicht mit Formen übertragen werden