Python NumPy中已知索引时如何用数组B替换数组A的指定行
在NumPy中通过指定索引用数组B替换数组A的指定行
你完全不需要用np.where,NumPy的高级索引支持直接通过索引列表完成赋值,这是最简洁高效的方案:
示例代码
import numpy as np # 初始化原数组、替换数组和目标索引 a = np.array([[1,2],[3,4],[5,6]]) b = np.array([[10,10],[1000, 1000]]) index = [0,2] # 直接通过索引列表完成替换 a[index] = b # 输出结果 print(a)
输出结果
array([[ 10, 10], [ 3, 4], [1000, 1000]])
注意事项
- 数组B的行数必须和索引列表的长度完全一致,否则会触发维度不匹配的错误
- 如果不想修改原数组,可先创建原数组的副本再操作:
a_copy = a.copy() a_copy[index] = b
内容的提问来源于stack exchange,提问作者Chengbo Fu
相关产品推荐
相关产品推荐

