numpy三维数据切片

本文介绍了如何在Python中对三维数组进行切片操作,通过实例解析了如何选取特定维度的数据。例如,`a[:,-1,:]`选取了每个小分块的最后一行所有列,而`a[-1,-1,:]`则获取了整个数组最后一行的最后一行的所有列。这些切片技巧对于理解和操作多维数据至关重要。
摘要由CSDN通过智能技术生成

在此记录一下三维数据切片操作

先看一个例子

a = np.array([[[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, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]],
              ])
print(a.shape)
print('a:\n', a)

输出:

a.shape:(3, 3, 4)
a:
 [[[ 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 27 28]
  [29 30 31 32]
  [33 34 35 36]]]

下面进行切片
case1:

a[:, -1, :]

此语句的含义:第一个 ‘ : ’ 指的是a.shape(3, 3, 4)的第一维所有数据都保留,
‘ -1 ’指的是只保留a.shape(3, 3, 4)第二维的最后一个数据,即每一个小分块的最后一行,
‘ :’指的是保留a.shape(3, 3, 4)第三维的所有数据,即保留每一个小分块的所有列
看下运行结果:

a[:, -1, :]:
[[ 9 10 11 12]
 [21 22 23 24]
 [33 34 35 36]]

case2:
同理,下面语句是取a的 第一维的最后一行,第二维的最后一行,第三维的所有列

a[-1, -1, :]:
[33 34 35 36]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值