我试图运行numpy.reshape()
的简单示例。从.py
文件调用时它似乎不起作用,但是当我直接从Python终端尝试时,它可以很好地工作。
我只是这样做:
import numpy as np
a = np.arange(6)
print a
a.reshape((3,2))
print a
它不会引发任何错误,但也不起作用!这是输出:
Lucass-MacBook-Pro:LSTM lucaslourenco$ python theClass.py
[0 1 2 3 4 5]
[0 1 2 3 4 5]
在终端中:
>>> import numpy as np
>>> a = np.arange(6)
>>> a
array([0, 1, 2, 3, 4, 5])
>>> a.reshape((3,2))
array([[0, 1],
[2, 3],
[4, 5]])
简单的解决方案?
答案 0 :(得分:6)
.reshape()
会返回一个新对象,而不是修改a
,因此您需要将结果分配回a
:
a = np.arange(6)
a = a.reshape((3, 2))
print(a)
或者修改a
,您可以直接指定其.shape
属性:
a = np.arange(6)
a.shape = 3, 2
print(a)