python矩阵降维_python----数组升维降维

一、numpy.array 增加维度

import numpy as np

a = np.array([1, 2, 3])

print(a)

#输出

array([1, 2, 3])

print(a[None])

#输出

array([[1, 2, 3]])

print(a[:,None])

#输出

array([[1], [2], [3]])

二、复制填充并升维

举例:把a的shape从(10,10)变成(5,10,10)

np.expand_dims(a,0).repeat(1000,axis=0)

⚠️ expand_dims表示增加一个维度,上式增加在a的0维度。

repeat代表重复的次数,axis代表在哪个维度进行重复,注意index从零开始,-1是增加在最后一维。

d30770bbee707c0cf8b8112343f58f3d.png

三、压缩冗余维度

在数组中会存在很多轴只有1维的情况,使用squeeze函数来压缩维度。

import numpy as np

b = np.array([[[[1],[2]],[[3],[4]]]])

b.shape

# 输出

(1L, 2L, 2L, 1L)

print(b)

# 输出

array([[[[1],

[2]],

[[3],

[4]]]])

# 默认压缩所有为1的维度

b_squeeze = b.squeeze()

b_squeeze.shape

# 输出

(2L, 2L)

# 调用array实例的方法,axis表示在哪个轴进行压缩,0为第一个维度。

b_squeeze0 = b.squeeze(axis=0)

b_squeeze0.shape

>>>(2L, 2L, 1L)

# 调用numpy的方法

b_squeeze3 = np.squeeze(b, axis=3)

b_squeeze3.shape

>>>(1L, 2L, 2L)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值