迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

修复 Python 错误 AttributeError: 'numpy.ndarray' Object Has No Attribute 'Append'

作者:迹忆客 最近更新:2023/05/30 浏览次数:

与列表或数组一样,NumPy 没有数组的 append() 方法; 相反,我们需要使用 NumPy 的 append() 方法。 我们可以使用 append() 方法添加多个 NumPy 数组。


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

ndarray 是一个 n 维 NumPy 数组,可用于多种用途,例如当我们的模型具有多种数据类型时。 这是一个使用它的简单示例:

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}")

输出:

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

现在,让我们尝试在上面的 ndarray 对象中附加一个数组。 我们会得到以下错误:

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

因此,很明显 ndarray 类型对象不包含任何称为 append() 的方法。


修复Python AttributeError: 'numpy.ndarray' object has no attribute 'append' 错误

要在 ndarray 对象中附加一个新数组,我们需要确保新数组与 ndarray 中的前一个数组具有相同的维度。

下面是我们将如何附加 ndarray:

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

输出:

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

在这里,如果你注意到,我们将轴设为 0。现在,如果我们不提及轴,则会发生以下情况:

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

输出:

[1 2 3 4 5 6 7 8 9]

它只是解开所有元素,然后将其变成一个数组!

现在,让我们观察一下如果我们给出一个维度不同的数组会发生什么:

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

输出:

ValueError: all the input array dimensions

这里我们得到了维度不匹配的 ValueError

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中错误 NameError: Name 'xrange' Is Not Defined

发布时间:2023/05/30 浏览次数:74 分类:Python

我们将了解在 Python3 中调用 xrange 函数时出现错误的原因,并了解如何解决此问题。 我们还将了解 range 和 xrange 之间的区别,并了解如何在不同的 Python 版本中使用 range 函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便