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

Python中如何将长度为n²的Numpy向量转换为n×n矩阵?

将Numpy一维向量转换为n×n矩阵

直接用numpy.reshape()方法就能实现,默认的**行优先(C顺序)**刚好匹配你要的分组规则——前n个元素作为第一行,第i组n个元素作为第i行。

示例代码

import numpy as np

# 假设n=3,创建长度为9的一维向量v
n = 3
v = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 转换为3×3矩阵
M = v.reshape(n, n)

print(M)

运行后输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

常见问题排查

如果之前用reshape失败,大概率是这两个原因:

  • 向量v的长度不是严格的n²:检查v.size是否等于n*n,不满足的话reshape会抛出维度不匹配的错误。
  • 参数指定错误:比如只写了reshape(n)或者颠倒了维度顺序,必须明确指定两个维度(n, n)。

另外,你也可以用reshape(-1, n)让Numpy自动计算行数,因为总元素数是n²,-1会被自动解析为n,效果完全一致:

M = v.reshape(-1, n)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:55:33