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

为何Numpy中数组b的shape为(2,)而非预期的(1,2)?

NumPy数组shape疑问解析

示例代码

import numpy as np

A = np.array([
        [-1, 3],
        [3, 2]
    ], dtype=np.dtype(float))

b = np.array([7, 1], dtype=np.dtype(float))

print(f"Shape of A: {A.shape}")
print(f"Shape of b: {b.shape}")

运行输出

Shape of A: (2, 2)
Shape of b: (2,)

疑问

我原本预期数组b的shape为(1,2)(即1行2列),为何实际结果是(2,)?

解答

NumPy中(2,)代表一维数组,只有一个维度,元素总数为2;而(1,2)是二维数组,包含1个长度为2的子数组。

你创建b时传入的是一维列表[7,1],NumPy会默认生成一维数组。如果要得到(1,2)的二维数组,有两种实用方法:

  • 给输入列表嵌套一层括号,构造二维结构:b = np.array([[7, 1]], dtype=np.dtype(float))
  • 用reshape方法修改已有数组的形状:b = np.array([7, 1], dtype=np.dtype(float)).reshape(1,2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:00:12