Python-Array-Wert-Fehler

Zeeshan Afridi 21 Juni 2023
  1. Beheben Sie den ValueError: only 2 non-keyword arguments accepted in Python
  2. Beheben Sie den ValueError: Setzen eines Array-Elements mit einer Sequenz
  3. Übereinstimmender Standarddatentyp von Array und Werten
Python-Array-Wert-Fehler

Ein Wertfehler in Python tritt auf, wenn eine Funktion ein Argument des richtigen Typs erhält, aber der Wert des Typs falsch ist. Ein weiterer Fehler tritt auf, wenn das NumPy-Array mehr als ein Element enthält, was den Fehler verursacht.

Dieser Artikel behandelt den Syntaxfehler und wie er behoben werden kann.

Beheben Sie den ValueError: only 2 non-keyword arguments accepted in Python

Im folgenden Beispiel ist das NumPy-Array zweidimensional, aber danach haben wir auch ein eindimensionales Array gemischt. Python erkennt dies als eine inhomogene Form, was darauf hinweist, dass die Struktur des Arrays schwankt, und daher löst Python einen Wertfehler aus.

Codebeispiel:

import numpy as np

print(np.array([1, "English"], [2, "Spanish"], [3, "German"], dtype=object))

Ausgang:

ValueError: only 2 non-keyword arguments accepted

Das Array sollte identische Elemente haben, um diesen Fehler zu beheben, indem das Array mit denselben Dimensionen erstellt wird.

Codebeispiel:

import numpy as np

print(np.array([[1, "English"], [2, "Spanish"], [3, "German"]], dtype=object))

Ausgang:

[[1 'English']
[2 'Spanish']
[3 'German']]

Beheben Sie den ValueError: Setzen eines Array-Elements mit einer Sequenz

Beim Erstellen mehrdimensionaler Arrays mit der Bibliothek NumPy tritt manchmal ein ValueError auf. Es tritt auf, wenn ein Array-Element mit einem Sequenzfehler gesetzt wird.

Codebeispiel:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=int)

Ausgang:

ValueError: setting an array element with a sequence

Wir können einen Datentyp verwenden, der alle Datentypen (einen gemeinsamen Datentyp) unterstützt, um diesen Fehler zu beheben. Im folgenden Beispiel haben wir statt dtype=int dtype=object verwendet.

Codebeispiel:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=object)
print(np_array)

Ausgang:

[2 4 6 list([8, [10, 12]])]

Übereinstimmender Standarddatentyp von Array und Werten

Im folgenden Beispiel tritt der Fehler aufgrund der Zuweisung eines Arrays als Element eines Arrays auf, das Zeichenfolgendaten akzeptiert.

Codebeispiel:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
newarray[1] = ["the", "meeting", "is", "at", "10pm"]
print(newarray)

Ausgang:

ValueError: setting an array element with a sequence

Wir können diesen Fehler beheben, indem wir die Datentypen des Werts und des Arrays abgleichen. Wir können dieses Problem beheben und den Wert als Array-Element zuweisen.

Codebeispiel:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
Variable = ["the", "meeting", "is", "at", "10pm"]
if newarray.dtype == type(Variable):
    newarray[1] = Variable
else:
    print(" Type of value and newarray is not same ")
print(newarray)

Ausgang:

Type of value and newarray is not same
['meeting' 'the' 'is' 'at' '10pm']

Bei der Verwendung der Bibliothek NumPy stoßen wir manchmal auf Wertfehler. Dies passiert, wenn eine Funktion den richtigen Argumenttyp übergibt, der Wert dieses Typs jedoch falsch ist.

Wir können den Array Value Error mit den oben genannten Methoden beheben.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Verwandter Artikel - Python Error