浅谈np.ndim与np.shape的一个小例子

前言

在构建神经网络里对一个小例子产生了兴趣

一维数组

我们简单的写个例子

import numpy as np

A =  np.array([1,2,3,4])

print(np.ndim(A))
# 1

print(A.shape)
# (4,)

这里对于ndim与shape分别做个解释:

ndim:

在这里插入图片描述
即数组的维数

shape:

在这里插入图片描述
即数组的形状(维度),返回类型元组

这里我们注意到此时的A的ndim返回值是1,代表着1维

A的shape返回值是(4,)

那么问题来了:明明我们的A是[1,2,3,4],为什么返回值是(4,)?

这里我们依然要从官方文档解答

Returns:
The elements of the shape tuple give the lengths of the corresponding array dimensions.

翻译过来就是:形状元组的元素给出了相应数组维度的长度

重点在维度的长度这块

那么一维的长度就和数组里的元素个数有关系,所以是4

可是那为什么是(4,)呢?

因为一维数组的情况下也要返回和多维数组的情况下一致的结果

例如,二维数组时返回的是元组(4,3),三维数组时返回的是元组(4,3,2)

因此一位数字时也同样以元组的形式返回结果

多维数组

这里我们以二维数组为例

import numpy as np

A =  np.array([[1,2,3,4],[5,6,7,8]])

print(np.ndim(A))
# 2

print(A.shape)
# (2,4)

该情况下ndim就是数组的维度:2

shape就是对应着2行,4列:(2,4)

一个小思考

如果把A换成了

A =  np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

那么A的ndim是多少呢?

还是2

因为不管A是几行几列

始终是属于2维的范畴

只有A变成了三维

才满足A.ndim=3

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值