numpy多维数组索引浅谈

numpy多维数组索引

切片索引

python的numpy中的多维数组,有时候需要定位到数组中的某些区域元素的位置。

  • 一维

一维数组很简单,我们可以直接指定索引,或者使用切片索引。

比如: data[0],这时候输出单个具体数值,没有维度

data[:3],这时候输出一个一维的子数组

  • 二维

二维数组也不难理解

data[0,1] 定位一个指定的具体数值,没有维度

data[0,:]定位一维数组

data[:,:] 定位二维数组

  • 三维

三维数组有些难以理解,之前遇到的三维数组有点蒙圈,现在重点理解一下。

比如现在创建一个三维数组

1

2

3

4

5

6

7

8

9

array([[[ 0,  1,  2],

        [ 3,  4,  5],

        [ 6,  7,  8]],

       [[ 9, 10, 11],

        [12, 13, 14],

        [15, 16, 17]],

       [[18, 19, 20],

        [21, 22, 23],

        [24, 25, 26]]])

data[:,:,1] 会定位输出一个二维数组,具体怎么输出这个二维数组呢,我们把第一列的索引看作第一维,第二列索引看作第二维,第三列索引看作第三维,第三维是个确定的索引,所以我们的第三维数组将会降维的一个具体的值,最后得到的二维数组将会是第一维和第二维组成的一个二维数组。

1

2

3

array([[ 1,  4,  7],

       [10, 13, 16],

       [19, 22, 25]])

同理data[:,1,1]会定位输出一个一维数组,他的输出是:

1

array([ 4, 13, 22])

四维

四维和三维类似,具体到哪个维度的索引我们就降维哪一维

来源:微点阅读   https://www.weidianyuedu.com

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值