如何修复:“numpy.ndarray”对象没有“append”属性
使用 NumPy 时可能遇到的错误是:
AttributeError: 'numpy.ndarray' object has no attribute 'append'
当您尝试使用标准 Python append()函数将一个或多个值附加到 NumPy 数组的末尾时,会发生此错误。
由于 NumPy 没有追加属性,因此会引发错误。要解决此问题,您应该使用np.append()代替。
以下示例展示了如何在实践中纠正此错误。
如何重现错误
假设我们尝试使用标准 Python append()函数将新值添加到 NumPy 数组的末尾:
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #attempt to add the value '25' to end of NumPy array x. append (25) AttributeError: 'numpy.ndarray' object has no attribute 'append'
我们收到错误,因为 NumPy 没有附加属性。
如何修复错误
要修复此错误,我们只需使用np.append()即可:
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #append the value '25' to end of NumPy array x = np. append (x, 25) #view updated array x array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25])
使用np.append()我们成功地将值“25”添加到数组的末尾。
请注意,如果要将一个 NumPy 数组添加到另一个 NumPy 数组的末尾,最好使用np.concatenate()函数:
import numpy as np
#define two NumPy arrays
a = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])
b = np. array ([25, 26, 26, 29])
#concatenate two arrays together
c = np. concatenate ((a, b))
#view resulting array
vs
array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25, 26, 26, 29])
有关数组和串联函数的详细说明,请参阅在线文档:
其他资源
以下教程解释了如何修复 Python 中的其他常见错误: