python 扩展库 numpy

np.newaxis

用于在指定的维度上增加数组的维度。通俗的讲,每往尾部加一个np.newaxis,就多给最内层元素增加一对[ ]

>>> a=np.random.randint(0,5,6)
>>> a
array([0, 0, 4, 1, 4, 1])
>>> np.shape(a)
(6,)
>>> a[:,np.newaxis]
array([[0],
       [0],
       [4],
       [1],
       [4],
       [1]])
>>> np.shape(a[:,np.newaxis])
(6, 1)
>>> a[np.newaxis,:]
array([[0, 0, 4, 1, 4, 1]])
>>> np.shape(a[np.newaxis,:])
(1, 6)
>>> a[np.newaxis,:,np.newaxis]
array([[[0],
        [0],
        [4],
        [1],
        [4],
        [1]]])
>>> np.shape(a[np.newaxis,:,np.newaxis])
(1, 6, 1)

np.argsort(data,axis=-1)

在axis的维度上对data进行升序排列,并返回相应的索引值。默认的axis维度为最后一个维度

>>> np.argsort([0,3,1,4,2])
array([0, 2, 4, 1, 3], dtype=int64)
>>> np.argsort([0,3,1,4,2],0)
array([0, 2, 4, 1, 3], dtype=int64)
>>> np.argsort([[1,3,5,7],[2,1,4,8]])
array([[0, 1, 2, 3],
       [1, 0, 2, 3]], dtype=int64)
>>> np.argsort([[1,3,5,7],[2,1,4,8]],1)
array([[0, 1, 2, 3],
       [1, 0, 2, 3]], dtype=int64)
>>> np.argsort([[1,3,5,7],[2,1,4,8]],0)
array([[0, 1, 1, 0],
       [1, 0, 0, 1]], dtype=int64) 

.argsort()也可以作为ndarray的一个方法使用

>>> a
array([0, 5, 4, 1, 7, 4])
>>> a.argsort()
array([0, 3, 2, 5, 1, 4], dtype=int64)
>>> a.argsort()[3]
5
>>> a.argsort()[1:3]
array([3, 2], dtype=int64)

猜你喜欢

转载自blog.csdn.net/yuanjackson/article/details/83506052
今日推荐