创建一个三维数组
import numpy as np
d3=np.array([
[
np.arange(5),np.arange(5,10)
],
[
np.arange(10,15),np.arange(15,20)
],
[
np.arange(20,25),np.arange(25,30)
]
],)
print(d3)#或者print(d3[::1])-------------------------->[[[ 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 27 28 29]]]
print(d3.shape)-------------------------------------->(3, 2, 5)#三层两行五列数组
三维数组的切片
获取a层b行c列的数据
print(d3[a-1][b-1][c-1])或者print(d3[a-1,b-1,c-1)
获取第一层数据
print(d3[0])
print(d3[0,:,:])------------------------------------->[[0 1 2 3 4]
[5 6 7 8 9]]
获取第二行数据
print(d3[:,1,:])------------------------------------->[[ 5 6 7 8 9]
[15 16 17 18 19]
[25 26 27 28 29]]
获取第三列的数据
print(d3[:,:,2])#或者print(d3[...,2])
-------------------------------------->[[ 2 7]
[12 17]
[22 27]]
获取第一层第二行列行步长为2的数据. ::2表示步长为2
print(d3[0,1,::2])----------------------------------->[5 7 9]
将所有的层数倒序
print(d3[::-1])-------------------------------------->[[[20 21 22 23 24]
[25 26 27 28 29]]
[[10 11 12 13 14]
[15 16 17 18 19]]
[[ 0 1 2 3 4]
[ 5 6 7 8 9]]]
重点内容” :: “—————– ::2表示步长为2,::-2表示从后往前取步长为2的数据
print(d3[:,::-2,4])---------------------------------->[[ 4]
#取 所有层第五列,所有行从后往前步长为2的数据 [14]
[24]]
print(d3[:,::2,4])----------------------------------->[[ 9]
#取 所有层第五列,所有行步长为2的数据 [19]
[29]]