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

Numpy如何将单位矩阵转换为仅左上角元素为1的目标矩阵

解决方案

你可以通过索引赋值的方式快速修改单位矩阵得到目标结果,以下是几种常用的实现方式:

  • 方法1:直接将除第一行外的所有行置0,适合明确只保留第一行首元素的场景
import numpy as np

# 生成3阶单位矩阵
arr = np.eye(3)
# 行索引从1开始的所有行统一赋值为0
arr[1:] = 0
print(arr)

输出结果:

[[1. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
  • 方法2:基于单位矩阵生成同维度全0矩阵,单独给第一个元素赋值,通用性更强,不受原矩阵维度影响
import numpy as np

arr = np.eye(3)
res = np.zeros_like(arr)
res[0, 0] = arr[0, 0]
print(res)
  • 方法3:修改对角线元素的值,适合需要保留其他位置原有值的复杂场景
import numpy as np

arr = np.eye(3)
# 从索引1开始的对角线元素全部置0
np.fill_diagonal(arr[1:], 0)
print(arr)

以上三种方法都可以得到你需要的输出,根据实际使用场景选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:08