【发布时间】:2020-06-10 07:28:36
【问题描述】:
我有一个维度数组 (43, 25520)。
我想对这 43 列中的每一列进行排序,然后将每一行的排序索引存储在一个新的二维数组中。所以输出应该是新排序的 (43, 25520)。
first_sorted = np.argsort(active_genevector[2,:])
这样,我得到了 43 行中第一行的排序 25520 索引。
我该怎么做才能最终将所有 43 个作为 (43, 25520) 数组?
【问题讨论】:
-
我可能会弄错问题,因为我不明白,为什么你的输出只有 42 列,但
numpy.argsort有一个axis属性。这样您就可以在整个 2D-Array 上使用该函数并按轴排序。 -
哦,打错了.. 输出应该是 (43, 25520)
-
好的,顺便说一句。通过上面使用
np.argsort()的方式,您将获得第二行而不是大二维数组的第一行,因为索引从零开始。 -
当然!如何对每个轴进行排序,最后得到大数组?我刚刚找到 argsort(axis = x) 然后我可以为 x 轴排序..
-
我发布了一个答案,希望对您有所帮助。输出数组
result与输入数组具有相同的维度。
标签: python arrays sorting np.argsort