如何修复:‘numpy.ndarray’ object has no attribute ‘append’

如何修复:‘numpy.ndarray’ object has no attribute ‘append’

NumPy是Python编程语言的一个库,增加了对大型多维数组和矩阵的支持,以及一大批对这些数组进行操作的高级数学函数。如果你从事分析工作,你可能已经接触到了python中的这个库。在开始的时候,当从python的传统列表切换到NumPy数组时,有些事情可能会让程序员感到困惑。我们可能遇到的一个错误是 “AttributeError: ‘numpy.ndarray’ object has no attribute ‘append'”。在这篇文章中,让我们看看为什么我们会看到这个错误以及如何解决这个问题。

当向 python 列表中添加一个项目时,我们使用了列表的 append 方法。语法非常简单,当我们试图在NumPy数组上复制同样的方法时,我们会得到上述的错误。让我们通过一个例子来看看。

例子:描述错误的代码

# Append method on python lists
  
import numpy
print("-"*15, "Python List", "-"*15)
  
# Create a python list
pylist = [1, 2, 3, 4]
  
# View the data type of the list object
print("Data type of python list:", type(pylist))
  
# Add (append) an item to the python list
pylist.append(5)
  
# View the items in the list
print("After appending item 5 to the pylist:", pylist)
  
print("-"*15, "Numpy Array", "-"*15)
  
# Append method on numpy arrays
  
# Import the numpy library
  
# Create a numpy array
nplist = numpy.array([1, 2, 3, 4])
  
# View the data type of the numpy array
print("Data type of numpy array:", type(nplist))
  
# Add (append) an item to the numpy array
nplist.append(5)

输出:

如何修复:'numpy.ndarray'对象没有'append'属性

在上面的输出中,我们可以看到python列表的数据类型是list 。当我们执行追加操作时,项目即5被追加到列表_pylist _的末尾。当我们对NumPy数组尝试同样的方法时,它失败了,并抛出一个错误 ” AttributeError: ‘numpy.ndarray’ object has no attribute ‘append'” 。输出结果很好解释,NumPy数组的类型是numpy.ndarray,它没有任何append()方法。

现在,我们知道NumPy数组不支持append,那么我们如何使用它呢?它实际上是NumPy的一个方法,而不是它的数组,让我们通过下面的例子来理解它,我们实际上是在一个numpy列表上执行append操作。

语法:

numpy.append(arr, values, axis=None)

参数:

  • arr:numpy数组。数组,值被追加到它的副本中。
  • values: numpy数组或值。这些值被附加到arr的一个副本上。它必须具有正确的形状(与arr的形状相同,不包括轴)。如果没有指定轴,值可以是任何形状,在使用前会被压扁。
  • axis: int, optional:粘贴数值的轴。如果没有给出axis,arr和值在使用前都会被压扁。

例子:

# Append method on numpy arrays
  
# Import the numpy library
import numpy
  
# Create a numpy array
nplist = numpy.array([1, 2, 3, 4])
  
# View the data type of the numpy array
print("Data type of numpy array:", type(nplist))
  
# View the items in the numpy array
print("Initial items in nplist:", nplist)
  
# Add (append) an item to the numpy array
nplist = numpy.append(nplist, 5)
  
# View the items in the numpy array
print("After appending item 5 to the nplist:", nplist)

输出:

如何修复:'numpy.ndarray'对象没有'append'属性

如在输出中,我们可以看到,最初,NumPy数组有4个项目(1、2、3、4)。在向列表中追加5项后,它就反映在NumPy数组中。这是因为这里的append函数是用在NumPy上,而不是NumPy数组对象(numpy.ndarray)上。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程