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

为什么NumPy数组的shape会没有列数?(13,)代表什么含义?

输入图片描述

(13, )的含义说明

(13, )是NumPy一维数组的shape标识,并不是没有列维度,一维数组本身仅存在一个维度,不存在行、列的维度划分。

相关细节说明:

  • shape返回的元组长度和数组维度数完全对应:
    • 一维数组的shape是长度为1的元组,(13, )中逗号是Python语法中区分「长度为1的元组」和「带括号的单个整数」的标识,没有实际数值意义,如果去掉逗号写为(13)就只是整数13,不属于元组类型
    • 只有二维数组的shape才符合大众认知的「(行数, 列数)」格式,比如13行1列的二维数组shape为(13, 1),1行13列的二维数组shape为(1, 13)
  • 这类shape的常见产生场景:
    • 直接从Python一维列表转换为NumPy数组、或者调用np.arange()这类默认生成一维数组的方法时,得到的数组shape都会是(n, )格式
    • 对高维数组做聚合计算、或者索引取单行/单列时,数组会自动降维为一维数组,比如从(13,5)的二维数组中提取任意一列,得到的结果shape就是(13, )

如果需要将该数组转换为带列维度的二维数组,可以用reshape方法调整:

# 两种写法都可以将一维数组转为13行1列的二维数组
arr = arr.reshape(13, 1)
arr = arr.reshape(-1, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:27:01