numpy_数组(三个点,无冒号,单冒号,双冒号)

import numpy
>>> a = numpy.array([[1,2,3,4,5],[6,7,8,9,10],[1,2,3,4,5],[6,7,8,9,10]])
>>> a
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10]])
>>> a[...,2]
array([3, 8, 3, 8])
>>> a[...,:2]
array([[1, 2],
       [6, 7],
       [1, 2],
       [6, 7]])
>>> a[...,::2]
array([[ 1,  3,  5],
       [ 6,  8, 10],
       [ 1,  3,  5],
       [ 6,  8, 10]])
>>> a[...,:3]
array([[1, 2, 3],
       [6, 7, 8],
       [1, 2, 3],
       [6, 7, 8]])
>>> a[...,::3]
array([[1, 4],
       [6, 9],
       [1, 4],
       [6, 9]])

a[...,2]:...表示遍历每行,2表示索引为2的所在列。

a[...,:2]:...表示遍历每行,:2表示索引为<2的0,1所在的列。

a[...,::2]:...表示遍历每行,2表示步长,选取多索引为0,2,4所在的列。

a[::-1]:表示取反,将所要输出的列表的固定维度取逆序。

>>> import numpy
>>> a=numpy.array(numpy.arange(18).reshape(3,3,2))
>>> a
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5]],

       [[ 6,  7],
        [ 8,  9],
        [10, 11]],

       [[12, 13],
        [14, 15],
        [16, 17]]])
>>> a[...,::-1]
array([[[ 1,  0],
        [ 3,  2],
        [ 5,  4]],

       [[ 7,  6],
        [ 9,  8],
        [11, 10]],

       [[13, 12],
        [15, 14],
        [17, 16]]])

上面例子,展现的是,前两个维度不变,第三个维度取反(逆序)。

posted @ 2018-06-21 14:58  Liu呵呵  阅读(4119)  评论(0编辑  收藏  举报