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

如何根据另一个数组重新排序NumPy矩阵的行?(支持大规模数据)

根据指定序列重排NumPy矩阵的行

你可以利用NumPy的高级索引功能高效完成行重排,这种方法天然具备可扩展性,不管矩阵有多少行都能快速处理。

步骤说明:

  • NumPy使用0-based索引,而示例中的b是1-based的行序号,因此需要先将b转换为0-based索引数组
  • 直接用转换后的索引数组对矩阵行进行选取,完成重排

示例代码:

import numpy as np

# 原始矩阵与索引序列
A = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([3,1,2])

# 转换为0-based索引
b_0based = b - 1
# 执行行重排
A_reordered = A[b_0based]

# 验证结果
print(A_reordered)

输出结果:

[[7 8 9]
 [1 2 3]
 [4 5 6]]

优势:

  • 基于NumPy的矢量化操作,避免了低效的循环遍历,处理大规模矩阵(如数千行)时性能优势明显
  • 代码简洁直观,仅需两行核心操作即可完成需求

内容的提问来源于stack exchange,提问作者M.Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:32:32