You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排序numpy数组的第一行并同步调整第二行的元素顺序

实现方法

核心思路是通过numpy.argsort()获取第一行排序后的位置索引,再用该索引对整个数组的列做同步重排,代码示例如下:

import numpy as np

# 定义原始数组
array = np.array([[3,5,4,2,1,6,8],[23,44,52,1,23,22,58]])
# 获取第一行从小到大排序对应的原位置索引
sorted_idx = array[0].argsort()
# 按索引重排所有列,两行同步调整
new_array = array[:, sorted_idx]

运行后得到的new_array输出结果如下,和你需要的效果完全一致:

array([[ 1,  2,  3,  4,  5,  6,  8],
       [23,  1, 23, 52, 44, 22, 58]])

逻辑说明

  • array[0].argsort()返回的是第一行元素排序后,每个元素在原数组里的位置索引,本次示例中得到的索引为[4, 3, 0, 2, 1, 5, 6]
  • array[:, sorted_idx]表示保留数组的所有行,仅按照sorted_idx的顺序重新排列列,自然就能实现两行位置同步调整的需求。

内容的提问来源于stack exchange,提问作者phys_birthdaycake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:39:00