关于numpy.shape容易搞错的一个点

在使用numpy的时候,查询np.array的形状是一个容易产生困惑的点,这里进行着重说明。

一维数组因为只有一维,所以形式是(n, ),n表达的实际上是“行数”;而二维数组则是(m, n),m代表数组有多少行,n代表数组有多少列, 可见在新增加了维度之后,表达维度的数量会出现在这个tuple的最前面。依次类推,如果是三维数组则是(k, m, n)k表示的是有多少个二维数组的“块”。

而有趣的是,如果在三维数组中,出现在两个“块”中的二维数组并非是相同的shape,那么.shape展示出来的则只有(k, )

快速判断一个numpy array是多少维的方法可以直接数左括号的个数,一维是一个…以此类推

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

c = np.array([[[1,2],
               [2,3],
               [3,4]],
              
              [[1,2],
               [2,3],
               [3,4],
               [3,4]]
             ])
c.shape
(2,)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值