我正在写一行代码,我得到了一些奇怪的输出。
a = np.arange(2,11).resize((3,3))
print(a)
a = np.arange(2,11).reshape((3,3))
print(a)
Run Code Online (Sandbox Code Playgroud)
第一个给了我 None 但第二个给了我一个 3X3 矩阵。但是当我在单独的行中编写第一个代码时,它不会给我 None
a = np.arange(2,11)
a.resize((3,3))
print(a)
Run Code Online (Sandbox Code Playgroud)
在这种情况下调整大小和重塑之间有什么区别,一般有什么区别?
那是因为ndarray.resize就地修改数组形状,并且由于您要重新分配给aget None,因为就地操作不会返回任何内容。reshape而是返回数组的视图:
a = np.arange(2,11)
a.shape
#(10,)
a.resize((3,3))
a.shape
# (3, 3)
np.arange(2,11).reshape((3,3)).shape
# (3, 3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |