numpy.argsort 文档状态
返回:
index_array : ndarray, int 沿指定轴对 a 进行排序的索引数组。如果 a 是一维的,则a[index_array]产生一个已排序的 a。
如何应用numpy.argsort多维数组的结果来取回已排序的数组?(不仅仅是一维或二维数组;它可能是一个 N 维数组,其中 N 仅在运行时已知)
>>> import numpy as np
>>> np.random.seed(123)
>>> A = np.random.randn(3,2)
>>> A
array([[-1.0856306 , 0.99734545],
[ 0.2829785 , -1.50629471],
[-0.57860025, 1.65143654]])
>>> i=np.argsort(A,axis=-1)
>>> A[i]
array([[[-1.0856306 , 0.99734545],
[ 0.2829785 , -1.50629471]],
[[ 0.2829785 , -1.50629471],
[-1.0856306 , 0.99734545]],
[[-1.0856306 , 0.99734545],
[ 0.2829785 , -1.50629471]]])
Run Code Online (Sandbox Code Playgroud)
对我来说,这不仅仅是使用的问题sort();我有另一个数组B,我想B使用np.argsort(A)沿适当轴的结果进行排序。考虑以下示例:
>>> A …Run Code Online (Sandbox Code Playgroud)