我是新手,所以这个问题对于某人可能有些明显。
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'
我不知道为什么它不起作用。
答案 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
(记住,创建数组的函数)。您没有使用数组,而是使用了函数指针。