Ein Fehler, auf den Sie bei der Verwendung von Python stoßen können, 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

# NumPy-Array von Werten definieren
data = np.array(['1', '2', '3', '4', '7', '9', '10', '12'])

# Versuch, den Median der Werte zu berechnen
np.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 darauf ausführen können.

Der folgende Code zeigt, wie das geht:

#NumPy-Array von String-Werten in Float-Werte konvertieren
data_new = data.astype(float)

#aktualisiertes NumPy-Array zeigen
data_new

array([ 1.,  2.,  3.,  4.,  7.,  9., 10., 12.])

#Datentyp des Arrays prüfen
data_new.dtype

dtype('float64')

Wir können jetzt mathematische Operationen mit dem NumPy-Array ausführen:

#Mittelwert des Arrays berechnen
np.median(data_new)

5.5

#Mittelwert des Arrays berechnen
np.mean(data_new)

6.0

#Maximalwert des Arrays berechnen
np.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 darauf 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
Behebung: ValueError: Float NaN kann nicht in Integer konvertiert werden
Behebung: ValueError: Operanden konnten nicht zusammen mit Shapes übertragen werden

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: