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)