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

Python机器学习场景下如何通过索引数组提取对应值生成目标二维数组

解决方案

NumPy 内置实现

直接利用NumPy的整数数组索引特性即可完成替换,无需手写循环,性能远高于原生Python循环,尤其适合大数据量场景:

import numpy as np

# 输入数据
data = [[1,3,2], [3,3,1], [5,1,2]]
labels = [2,8,9,8,8,9]

# 转换为NumPy数组后直接索引,可通过tolist()转回普通列表
new_data = np.array(labels)[np.array(data)].tolist()
print(new_data)
# 输出:[[8, 8, 9], [8, 8, 8], [9, 8, 9]]

原理说明:当使用整数数组作为NumPy数组的索引参数时,会逐元素读取索引对应的数值,输出数组的维度与输入索引数组的维度完全一致,刚好匹配需求。

纯Python简洁实现(无第三方依赖)

如果不想引入NumPy库,也可以用嵌套列表推导式简化写法,比多层for循环更简洁:

data = [[1,3,2], [3,3,1], [5,1,2]]
labels = [2,8,9,8,8,9]

new_data = [[labels[i] for i in row] for row in data]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:27:00