numpy.reshape()在Python终端中工作,但不在.py文件中

时间:2015-11-06 18:12:10

标签: python numpy

我试图运行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]])

简单的解决方案?

1 个答案:

答案 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)