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中做到这一点?
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)