神奇索引

作者: 庵下桃花仙 | 来源:发表于2019-01-15 22:42 被阅读4次

    神奇索引是 NumPy 中的术语,描述使用整数数组进行数据索引。

    In [22]: arr = np.empty((8, 4))
    
    In [23]:
    
    In [23]: for i in range(8):
        ...:     arr[i] = i
        ...:
    
    In [24]: arr
    Out[24]:
    array([[0., 0., 0., 0.],
           [1., 1., 1., 1.],
           [2., 2., 2., 2.],
           [3., 3., 3., 3.],
           [4., 4., 4., 4.],
           [5., 5., 5., 5.],
           [6., 6., 6., 6.],
           [7., 7., 7., 7.]])
    
    In [25]: arr[[4, 3, 0, 6]]
    Out[25]:
    array([[4., 4., 4., 4.],
           [3., 3., 3., 3.],
           [0., 0., 0., 0.],
           [6., 6., 6., 6.]])
    
    In [26]:
    
    In [26]: arr[[-3, -5, -7]]
    Out[26]:
    array([[5., 5., 5., 5.],
           [3., 3., 3., 3.],
           [1., 1., 1., 1.]])
    
    In [27]: arr = np.arange(32).reshape((8, 4))
    
    In [28]: arr
    Out[28]:
    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, 27],
           [28, 29, 30, 31]])
    
    In [29]: arr[[1, 5, 7, 2], [0, 3, 1, 2]]
    Out[29]: array([ 4, 23, 29, 10])
    

    神奇索引与切片不同,它总是将数据复制到一个新的数组中。

    相关文章

      网友评论

        本文标题:神奇索引

        本文链接:https://www.haomeiwen.com/subject/kkiudqtx.html