numpy中的数组切片

转自:https://www.douban.com/note/518329533/

>>> a = np.arange(9)

>>> a[3:7]
array([3, 4, 5, 6])
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> a[0:7:2]
array([0, 2, 4, 6])
>>> a[::-7]
array([8, 1])
>>> a[::-1]
array([8, 7, 6, 5, 4, 3, 2, 1, 0]) #用来反转数组
>>> a[::-2] #从后往前隔一取值
array([8, 6, 4, 2, 0])

=============多维数组重建=================
>>> b=np.arange(24).reshape(2,3,4)
>>> b.shape
(2, 3, 4)
>>> b
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]])
#可看做一个2*3*4的三维数组,两个sheet,每个有3行4列 或者理解为0号楼,1号楼
#或者理解为0号楼,1号楼,每号楼有三层,每层有4户人家
#一号楼3楼1号
>>> b[1,2,0]
20

#所有的一楼住户
>>> b[:,0,:]
array([ 0, 1, 2, 3],
       [12, 13, 14, 15])

#多个冒号用省略号代替 下两句等价
>>> b[0,...]
array([ 0, 1, 2, 3],
       [ 4, 5, 6, 7],
       [ 8, 9, 10, 11])
>>> b[0,:,:]
array([ 0, 1, 2, 3],
       [ 4, 5, 6, 7],
       [ 8, 9, 10, 11])

#把多维数组翻转一遍
>>> b[::-1,::-1,::-1]
array([[23, 22, 21, 20],
        [19, 18, 17, 16],
        [15, 14, 13, 12],

       [11, 10, 9, 8],
        [ 7, 6, 5, 4],
        [ 3, 2, 1, 0]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值