相关疑难解决方法(0)

对具有多个维度的 numpy.argsort 进行排序不变量

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)

python arrays sorting numpy

6
推荐指数
1
解决办法
1368
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1

sorting ×1