最近用了矩阵转置 numpy.transpose(),发现了一点有趣的现象:
x=linspace(0,4,5)
array([0.,1.,2.,3.,4.])
x.shape
(5, )
想把x从一行,变成一列,如下直接转置会失败:
y=transpose(x)
正确的做法是:
x.shape=(5,1)
y=transpose(x)
查看结果:
y
array([[0.,1.,2.,3.,4.]])
y.shape
(1,5)
原来transpose的操作依赖于shape参数,对于一维的shape,转置是不起作用的.
这点matlab倒是显得很人性化,里面的一维向量转置很方便.例如
x=1:10;%一维行向量
y=x';%一维列向量当然Python中Numpy的实现机制,是基于类的,这和Matlab完全不一样.这点在数组(矩阵)转置的时候也有所体现.
本文深入探讨了使用Python Numpy库进行数组转置的操作,特别关注一维数组转置时与Matlab的差异,并通过实例展示了正确的转置方法及其在形状变化上的应用。
1295

被折叠的 条评论
为什么被折叠?



