Python numpy.ndim 和 numpy.shape

20 篇文章 0 订阅

今天遇到了这个问题,感觉跟之前的认识不一样,所以记录一下:

numpy.ndim

查看网上的定义:
这里写图片描述

感觉Python 中一些概念跟数学不是很一致,这里使用了dimension,后边的解释还出现了rank,在线性代数里,我们理解这个 rank 是秩的意思吧,但是这里显然不是这样的,比如单位矩阵:

data =  [[1, 0, 0],
         [0, 1, 0],
         [0, 0, 1]]
arr1 = array(data)

这时候输出的arr1.ndim是2,后来找资料,可以这么理解:在数学里我们理解二维,三维空间,一个非常直观的就是二维平面中的点可以这样表示 (i, j) , 三维空间中则是 (i, j, k) 这个维就是这样,如果我们可以使用i,j两个坐标表示array中的一个数据,那么它的ndim就是2, i,j,k同理就是3了,测试一下:

from numpy import *

d1 = [[1,2],
      [2, 3]]
a1 = array(d1)

d2 = [[[1, 2], [2,3]],
      [[2, 3], [3, 4]]]     #3维数组
      
a2 = array(d2)
print(a1.ndim)   #2
print("-"*9)
print(a2.ndim)   #3

这样就搞清楚这个dimension跟rank是什么意思了。
顺便说一下跟这个总在一块的属性,shape ,跟它的名字一样,就是数组的行、列数:

d2 = [[[1, 2], [2,3]],
      [[2, 3], [3, 4]]]
a2 = array(d2)

print(a2.ndim)
print(a2.shape)   #(2, 2, 2)
  • 4
    点赞
  • 0
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值