谈一点numpy.transpose()矩阵转置操作

最近用了矩阵转置 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完全不一样.这点在数组(矩阵)转置的时候也有所体现.
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值