numpy 一维矩阵转置问题

numpy 一维矩阵转置问题

numpy中,我们如果直接对一维行矩阵转置,会出现问题,以为 1-d array 的 shape 是 (d,) ,而不是 (1,d) , 转置后仍为 (d,)
这时,可以采用 numpy.expand_dims() 函数对一维矩阵的 shape 进行操作,使其变成 (1,d)

示例

d=np.array([1,2,3,4])
print('d.shape',d.shape)
print('d.T.shape',d.shape)
print('d=',d)
print('d.T=',d)

结果

d.shape (4,)
d.T.shape (4,)
d= [1 2 3 4]
d.T= [1 2 3 4]

不难发现,转置后的维度没有发生改变

解决方法1

expand_dims后的shape是(1,9),a.T就没有问题了

d=np.expand_dims(d,axis=0)
print('d.shape',d.shape)
print('d.T.shape',d.T.shape)
print('d=',d)
print('d.T=',d)

结果

d.shape (1, 4)
d.T.shape (4, 1)
d= [[1 2 3 4]]
d.T= [[1]
 [2]
 [3]
 [4]]

解决方法2

d=d[np.newaxis,:]#Equivalent to np.expand_dims(x, axis=0)
print('d.shape',d.shape)
print('d.T.shape',d.T.shape)
print('d=',d)
print('d.T=',d)

结果

d.shape (1, 4)
d.T.shape (4, 1)
d= [[1 2 3 4]]
d.T= [[1]
 [2]
 [3]
 [4]]

也可以

d=d[:,np.newaxis]#Equivalent to np.expand_dims(x, axis=1)
print('d=',d)

结果

d= [[1]
 [2]
 [3]
 [4]]
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值