我有两个二维数组
array1 = np.array(
[[1, 2],
[2, 1],
[3, 3]])
array2 = np.array(
[[2, 3],
[3, 2],
[1, 1]])
我想以某种方式对 array2 进行排序,以便 array1 第二列中的值和顺序与 array2 第一列匹配
所需的输出将是一个如下所示的 numpy 数组
sorted_array2 =
[[2, 3]
[1, 1]
[3, 2]]
然后组合两个数组以获得最终的数组,如下所示
[[1, 2, 3],
[2, 1, 1],
[3, 3, 2]]
感谢您的宝贵时间。
您可以通过首先根据 array2 第一列中的值对 array2 进行排序,并使用 array1 第二列中的相应值作为排序键来实现此目的。然后,您可以沿第二个轴连接 array1 和排序后的 array2 以获得所需的最终数组。
# Sort array2 based on the values in its first column using the second column of array1 as the sorting key
sorted_indices = np.argsort(array2[:, 0])
sorted_array2 = array2[sorted_indices]
# Combine array1 and sorted_array2
final_array = np.concatenate((array1, sorted_array2), axis=1)