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

Numpy数组shape结果(3,2,1)中1的含义及图示化解析咨询

NumPy数组shape返回值中末尾1的含义讲解

你运行的代码对应的数组结构和shape返回值对应关系如下:

import numpy as np
a = np.array([ [[1],[56]] , [[8],[98]] ,[[89],[62]] ])
print(np.shape(a)) # 输出 (3, 2, 1)

NumPy的shape返回值从左到右对应数组从外到内的每一层嵌套方括号的元素数量:

  • 第一层最外层方括号内共有3个同级子数组,对应第一个值3
  • 每个第一层子数组的方括号内共有2个同级子数组,对应第二个值2
  • 每个第二层子数组的方括号内只有1个数值元素,没有更深的嵌套,对应第三个值1

结构图示

# 整体数组层级对应
[                                  # 最外层 → 共3个元素 → shape[0] = 3
    [ [1], [56] ],                 # 第1个外层子数组 → 共2个元素 → shape[1] = 2
    [ [8], [98] ],                 # 第2个外层子数组
    [ [89], [62] ]                 # 第3个外层子数组
]

# 第二层子数组结构(以[1]为例)
[ 1 ]                              # 这一层仅1个数值 → shape[2] = 1

补充说明:如果你去掉最内层的方括号,将数组写为np.array([ [1,56], [8,98], [89,62] ]),此时shape返回值就是(3,2),不会出现末尾的1。如果需要移除这个长度为1的冗余轴,可以调用np.squeeze(a),返回的数组shape为(3,2)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:04