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

np.array([1,2])与np.array([[1,2]])的区别及shape输出疑问

二者核心区别与矩阵判定
  • np.array([1, 2])是一维ndarray(向量),结构上只有一层元素序列,不存在行、列的二维划分,不属于矩阵范畴。
  • np.array([[1, 2]])是二维ndarray,结构上有明确的行、列两个维度,属于数学定义上1行2列的矩阵。
shape返回值的维度含义

numpy的shape属性返回的元组长度等于数组的总维度数,元组内的每个数字依次对应从外到内每个维度上的元素数量:

  • 前者返回(2,):元组长度为1,说明这是1维数组,唯一的维度上共包含2个元素。末尾的逗号是Python单元素元组的固定语法标识,没有特殊含义。你可以直接做个简单验证:对这个数组执行转置操作.T,得到的结果和原数组完全一致——因为一维数组不存在第二个维度,无法完成矩阵层面的行列互换。
  • 后者返回(1, 2):元组长度为2,说明这是2维数组,第一个维度(轴0,对应行方向)共包含1个元素,第二个维度(轴1,对应列方向)共包含2个元素。对它执行转置操作.T,会得到shape为(2,1)的2行1列二维数组,完全符合矩阵的运算规则。

补充说明:numpy中没有独立的「矩阵」专属类型(旧版本的np.matrix已经被官方弃用),日常开发里提到的numpy矩阵,默认就是指维度数为2的ndarray。如果拿一维数组参与矩阵乘法、求逆等线性代数运算,numpy会触发广播机制自动补全维度,很容易出现不符合预期的计算结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:06:17