“ builtin_function_or_method”对象没有属性“ reshape”。这是什么意思?

时间:2020-10-01 11:48:13

标签: python arrays numpy

我是新手,所以这个问题对于某人可能有些明显。

import numpy as np
print("array")
array = np.arange(8)
matrix = np.array.reshape(2,4)
print(matrix)

结果是这样。

array
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-88e5e9409344> in <module>
      2 print("array")
      3 array = np.arange(8)
----> 4 matrix = np.array.reshape(2,4)
      5 print(matrix)

AttributeError: 'builtin_function_or_method' object has no attribute 'reshape'

我不知道为什么它不起作用。

1 个答案:

答案 0 :(得分:0)

似乎您正在np.array上调用reshape,这是一个用于创建新数组的函数。

您已经创建了变量array。 尝试使用此变量代替np.array

import numpy as np
print("array")
array = np.arange(8)
matrix = array.reshape(2,4) # <-- remove the "np." to access a function on your array
print(matrix)

这是为什么?

myArray = np.array(k)是一个使用输入k创建新的NumPy数组的函数。 该函数的结果将返回并保存到变量中(在我的情况下为myArray)。

在此数组上,您可以调用函数来对其进行操作(例如reshape)。

您尝试执行的操作:您使用了np.array(记住,创建数组的函数)。您没有使用数组,而是使用了函数指针。