import numpy as np
list=[[1,2],[3,4],[5,6]]
t=np.array(list)
print(t)
t=np.arange(24).reshape(4,6)
print(t)
print(t.ndim)
print(t.size)
print(t.shape)
t.shape=(3,2)
print(t)
第九行改变矩阵的代码为什么显示错误?正确的方法是什么?
import numpy as np
list=[[1,2],[3,4],[5,6]]
t=np.array(list)
print(t)
t=np.arange(24).reshape(4,6)
print(t)
print(t.ndim)
print(t.size)
print(t.shape)
t.shape=(3,2)
print(t)
第九行改变矩阵的代码为什么显示错误?正确的方法是什么?
shape是数组的属性,不能对其赋值——即便可以,对于24个元素的数组,怎么可以变成3行2列呢?想要改变数组的shape,请使用resize函数。resize和reshape的区别在于,前者改变了数组的shape但没有返回值,后者不会改变数组的shape但返回一个新的视图。
import numpy as np
t = np.arange(12)
t.shape
(12,)
a = t.reshape(3,4)
a.shape
(3, 4)
t.shape
(12,)
t.resize(3,4)
t.shape
(3, 4)