Ein Fehler, auf den Sie bei der Verwendung von Python stoßen können, ist:

ValueError: setting an array element with a sequence.

Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, mehrere Zahlen in eine einzelne Position in einem NumPy-Array zu packen.

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 erstellen
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

Nehmen wir nun an, wir versuchen, zwei Zahlen in die erste Position des Arrays zu stopfen:

# Versuch, die Werte '4' und '5' beide in die erste Position des NumPy-Arrays zu stopfen
data[0] = np.array([4,5])

ValueError: setting an array element with a sequence.

Der Fehler sagt uns genau, was wir falsch gemacht haben: Wir haben versucht, ein Element im NumPy-Array mit einer Folge von Werten zu setzen.

Insbesondere haben wir versucht, die Werte „4“ und „5“ beide in die erste Position des NumPy-Arrays zu stopfen.

Dies ist nicht möglich, daher erhalten wir eine Fehlermeldung.

So beheben Sie den Fehler

Die Möglichkeit, diesen Fehler zu beheben, besteht darin, der ersten Position des Arrays einfach einen Wert zuzuweisen:

# Weisen Sie der ersten Position des Arrays den Wert '4' zu
data[0] = np.array([4])

#aktualisiertes Array anzeigen
data

array([ 4,  2,  3,  4,  5,  6,  7,  8,  9, 10])

Beachten Sie, dass wir keinen Fehler erhalten.

Wenn wir den Elementen im Array tatsächlich zwei neue Werte zuweisen möchten, müssen wir die folgende Syntax verwenden:

#den ersten beiden Positionen des Arrays die Werte '4' und '5' zuweisen
data[0:2] = np.array([4, 5])

#aktualisiertes Array anzeigen
data

array([ 4,  5,  3,  4,  5,  6,  7,  8,  9, 10])

Beachten Sie, dass die ersten beiden Werte im Array geändert wurden, während alle anderen Werte gleich blieben.

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: