如何基于现有numpy矩阵通过切片修改首行生成新矩阵
解决方案
你不需要将切片拆分后赋值给单独变量再修改,直接对原矩阵的目标切片位置赋值等长的目标数组即可,仅会修改切片覆盖的第一行对应位置,其余行不受任何影响。
方式1:按你拆分的前后两段切片分别赋值
# 给第一行前5位切片赋值目标前半段值 mat[0, 0:5] = [0,0,0,0,1] # 给第一行后5位切片赋值目标后半段值 mat[0, 5:10] = [0,1,1,1,0]
方式2:直接对第一行整体切片赋值(更简洁)
mat[0] = [0,0,0,0,1,0,1,1,1,0]
完整测试代码
import numpy as np # 初始化原始矩阵 mat = np.array([ [0,1,1,1,0,0,0,0,0,1], [0,0,0,0,0,0,0,0,0,0], [1,1,1,1,1,1,1,1,1,1], [0,0,0,0,0,0,0,0,0,0] ]) # 执行修改操作 mat[0, 0:5] = [0,0,0,0,1] mat[0, 5:10] = [0,1,1,1,0] # 验证输出 print(mat)
内容的提问来源于stack exchange,提问作者blkjim99
相关产品推荐
相关产品推荐

