numpy的array切片操作

>>> import numpy as np
>>> c = np.zeros((5,5))   # 5*5矩阵
>>> c[:2,:] = np.random.randn(2,5)   # 逗号前为第一个维度的序列,后为第二个维度
>>> c
array([[ 0.92081671, -0.77663024,  1.14037805, -1.15518051, -0.15422437],
       [ 0.84890476, -0.48695536, -0.51419915,  0.44562765, -0.24694844],
       [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ],
       [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ],
       [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ]])
>>> c[:, :2] = np.random.randn(5,2)
>>> c
array([[ 1.90909535, -0.68198621,  1.14037805, -1.15518051, -0.15422437],
       [-2.16529277,  1.64610083, -0.51419915,  0.44562765, -0.24694844],
       [-0.40347865,  0.41575255,  0.        ,  0.        ,  0.        ],
       [-0.47549937,  2.50379797,  0.        ,  0.        ,  0.        ],
       [ 1.40663986, -1.25579041,  0.        ,  0.        ,  0.        ]])
>>> c[1:3,1:3] = np.zeros((2,2))
>>> c
array([[ 1.90909535, -0.68198621,  1.14037805, -1.15518051, -0.15422437],
       [-2.16529277,  0.        ,  0.        ,  0.44562765, -0.24694844],
       [-0.40347865,  0.        ,  0.        ,  0.        ,  0.        ],
       [-0.47549937,  2.50379797,  0.        ,  0.        ,  0.        ],
       [ 1.40663986, -1.25579041,  0.        ,  0.        ,  0.        ]])
>>> c[:] = np.random.randn(5,5)
>>> c
array([[ 0.8960308 , -0.95207581,  0.3843579 , -1.14600648,  1.83103096],
       [-0.89313434, -0.89487994, -0.50526522,  1.88096454, -1.06691381],
       [-0.06286355, -0.59257839, -0.52154265,  1.70033738, -1.00484532],
       [ 0.27113676, -2.02828088,  0.47071939, -0.12619774,  0.63780538],
       [-0.09530811, -0.80426683,  0.06625171,  0.16316835,  0.61907562]])
>>> c[1:3,1:3] = np.zeros((2,2))
>>> c
array([[ 0.8960308 , -0.95207581,  0.3843579 , -1.14600648,  1.83103096],
       [-0.89313434,  0.        ,  0.        ,  1.88096454, -1.06691381],
       [-0.06286355,  0.        ,  0.        ,  1.70033738, -1.00484532],
       [ 0.27113676, -2.02828088,  0.47071939, -0.12619774,  0.63780538],
       [-0.09530811, -0.80426683,  0.06625171,  0.16316835,  0.61907562]])
>>> d = np.random.randn(3,3,3)
>>> 多个维度的情况
>>> d[1:3,1:3,1:3] = np.zeros((2,2,2))    
>>> d
array([[[-0.28477762,  0.69897055, -1.06150532],
        [ 0.03121575,  1.05775197, -1.98294276],
        [-1.38523847,  0.69175324, -0.91907294]],

       [[-0.0230852 ,  0.33394201,  0.21270782],
        [-1.21250293,  0.        ,  0.        ],
        [-0.53938268,  0.        ,  0.        ]],

       [[-1.4239944 ,  1.19370812, -0.19525263],
        [-0.14565769,  0.        ,  0.        ],
        [ 0.93455595,  0.        ,  0.        ]]])
>>> d[1:3,1:3,1:3] = np.zeros(((2,2,2)))
>>> d
array([[[-0.28477762,  0.69897055, -1.06150532],
        [ 0.03121575,  1.05775197, -1.98294276],
        [-1.38523847,  0.69175324, -0.91907294]],

       [[-0.0230852 ,  0.33394201,  0.21270782],
        [-1.21250293,  0.        ,  0.        ],
        [-0.53938268,  0.        ,  0.        ]],

       [[-1.4239944 ,  1.19370812, -0.19525263],
        [-0.14565769,  0.        ,  0.        ],
        [ 0.93455595,  0.        ,  0.        ]]])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值