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

如何通过给定索引列表重新排序Numpy数组?

Numpy按索引数组提取元素的高效方法

直接使用Numpy的**花式索引(Fancy Indexing)**就能完成这个需求,完全不需要循环,代码简洁且效率更高:

首先导入numpy并定义你的数组:

import numpy as np

test_idxs = np.array([4, 2, 7, 5])
test_vals = np.array([13, 19, 31, 6, 21, 45, 98, 131, 11])

用索引数组直接取值:

result = test_vals[test_idxs]
print(result)
# 输出:array([21, 31, 131, 45])

补充说明

  • 这种批量索引操作是Numpy的原生特性,底层通过C实现批量计算,比Python循环的执行效率高几个数量级。
  • 索引数组可以是任意形状(比如二维),最终结果的形状会和索引数组保持一致,适配更复杂的索引需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 03:34:49