Numpy多维数组切片(持续更新)

Numpy数组是一个常用的数组形式,特别在科学计算、神经网络中
在数组的组合中保存了数据所需要的特征,那么这些特征其实被保存在不同的位置。
为了获得这些位置就要就需要我们取给数组做切割!如何切割?

本文将持续更新......

#多维数组切割
#先生成一个数组
arr = np.arange(27).reshape(3,3,3)
#OUT->>
"""
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]]]) """

# 多维数组切片取值  使用 
#1.全部获取 [ : , : , : ]
#2.获取第一个纬度全部值 
arr[ 0 , : , : ] 
#神经网络里可以理解成第0个 batchsize  内的所有值
#OUT-》》
“”“
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]]) ”“”

#3.获取第一个纬度的第一行 
arr[ 0 , 0 , : ]
#即:第一个batch里的 矩阵里的x轴里的所有值
#OUT-》》
“”“
array([0, 1, 2])
”“”

#4.获取第一个纬度的第一行的第一个值 大家应该懂了吧? 我这里就不说了


###**重点   !!--》》》》》 在切片[:::] 支持量程切片 即 arr[0,0:2,:]
#这个是获取 第一个纬度的 0到2行的值 
“”“ 
array([[0, 1, 2],
       [3, 4, 5]])
”“”

#关于 arr[:,0]和arr[:,0:1]的区别 纬度发生改变
#OUT--》   array([ 1, 10, 19])
#OUT--》  array([[ 1],
     #                        [ 10],
      #                       [19]])

'''
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]]) '''

arr[:,-1:] # 取最后的值
array([[ 8],
          [17],
          [26]])