Heim >Backend-Entwicklung >Python-Tutorial >ValueError: Festlegen eines Array-Elements mit einer Sequenz: Warum tritt dieser NumPy-Fehler auf?

ValueError: Festlegen eines Array-Elements mit einer Sequenz: Warum tritt dieser NumPy-Fehler auf?

Linda Hamilton
Linda HamiltonOriginal
2024-12-05 15:42:10931Durchsuche

ValueError: Setting an Array Element with a Sequence: Why Does This NumPy Error Occur?

ValueError: Festlegen eines Array-Elements mit einer Sequenz

Beim Arbeiten mit NumPy-Arrays tritt gelegentlich der Fehler „ValueError: Festlegen eines Arrays“ auf Element mit einer Sequenz. Dieses Problem tritt aus zwei möglichen Gründen auf:

Grund 1: Erstellen eines gezackten Arrays

NumPy-Arrays erfordern durchgehend konsistente Abmessungen. Der Versuch, ein Array aus einer Liste zu erstellen, in der die Elemente unterschiedliche Längen haben, löst diesen Fehler aus:

np.array([[1, 2], [2, 3, 4]])         # Wrong!
np.array([[1, 2], [2, [3, 4]]])       # Wrong!

In diesen Fällen können die Eingabelisten nicht als mehrdimensionales Array mit einheitlicher Form dargestellt werden.

Grund 2: Inkompatible Elementtypen

Beim Deklarieren eines Arrays mit einem bestimmten Datentyp (z. B. float) müssen Sie sicherstellen, dass alle Elemente vom gleichen Typ sind. Das Mischen verschiedener Typen wie Strings und Floats führt zu folgendem Fehler:

np.array([1.2, "abc"], dtype=float)   # Wrong!

Wenn Sie ein Array benötigen, das Elemente unterschiedlicher Typen enthält, sollten Sie den Objektdatentyp verwenden:

np.array([1.2, "abc"], dtype=object)

Das obige ist der detaillierte Inhalt vonValueError: Festlegen eines Array-Elements mit einer Sequenz: Warum tritt dieser NumPy-Fehler auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn