Beheben Sie den AttributeError: 'numpy.ndarray' Object Has No Attribute 'Append' in Python

Shihab Sikder 21 Juni 2023
  1. das AttributeError: 'numpy.ndarray' object has no attribute 'append' in Python
  2. Korrigieren Sie den AttributeError: 'numpy.ndarray' object has no attribute 'append' in Python
Beheben Sie den AttributeError: 'numpy.ndarray' Object Has No Attribute 'Append' in Python

Wie Listen oder Arrays hat NumPy keine append()-Methode für das Array; Stattdessen müssen wir die Methode append() von NumPy verwenden. Wir können mehrere NumPy-Arrays mit der Methode append() hinzufügen.

das AttributeError: 'numpy.ndarray' object has no attribute 'append' in Python

ndarray ist ein n-dimensionales NumPy-Array, das für verschiedene Zwecke nützlich ist, beispielsweise wenn wir mehrere Datentypen für ein Modell haben. Hier ist ein einfaches Beispiel dafür:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(f"Type: {type(arr)}")
print(f"Dimension: {arr.ndim}")
print(f"Shape: {arr.shape}")
print(f"Element data type: {arr.dtype}")

Ausgang:

Type: <class 'numpy.ndarray'>
Dimension: 2
Shape: (2, 3)
Element data type: int32

Versuchen wir nun, ein Array an das obige Objekt ndarray anzuhängen. Wir erhalten den folgenden Fehler:

>>> arr.append([1,2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'append'

Es ist also klar, dass das Objekt vom Typ ndarray keine Methode namens append() enthält.

Korrigieren Sie den AttributeError: 'numpy.ndarray' object has no attribute 'append' in Python

Um ein neues Array im ndarray-Objekt anzuhängen, müssen wir sicherstellen, dass das neue Array dieselbe Dimension hat wie das vorherige innerhalb des ndarray.

So fügen wir das ndarray an:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8, 9]], axis=0)
print(arr)

Ausgang:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

Wenn Sie es bemerken, setzen wir hier die Achse auf 0. Wenn wir die Achse nicht erwähnt haben, wird Folgendes passieren:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8, 9]])
print(arr)

Ausgang:

[1 2 3 4 5 6 7 8 9]

Es hat einfach alle Elemente ausgepackt und dann ein Array daraus gemacht!

Lassen Sie uns nun beobachten, was passiert, wenn wir ein Array angeben, das nicht dieselbe Dimension hat:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8]], axis=0)

Ausgang:

ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 3 and the array at index 1 has a size 2

Hier haben wir den ValueError für die Dimensionsabweichung erhalten. Um mehr über den ndarray von NumPy zu erfahren, besuchen Sie diesen Blog.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Verwandter Artikel - Python Error