我可以使用 python 并行对两个相关数组进行排序吗?

FLO*_*OID 0 python arrays sorting numpy

我有两个形状为 (74395, 1) 的 NumPy 数组,存储浮点值,其中 arr1[0] 与 arr2[0] 相关,依此类推。我想根据第二个数组中存储的值按升序对它们进行排序。

举个例子:

arr1: [[1]
       [2]
       [3]]

arr2: [[6]
       [2]
       [4]]
Run Code Online (Sandbox Code Playgroud)

想要的结果:

arr1: [[2]
       [3]
       [1]]

arr2: [[2]
       [4]
       [6]]
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中做到这一点?

Sam*_*ord 5

zip将两者放在一起,排序,zip再次转置结果并解构:

>>> arr1 = [1, 2, 3]
>>> arr2 = [6, 2, 4]
>>> arr2, arr1 = zip(*sorted(zip(arr2, arr1)))
>>> arr1
(2, 3, 1)
>>> arr2
(2, 4, 6)
Run Code Online (Sandbox Code Playgroud)