Python numpy.ndim 和 numpy.shape

导读:本篇文章讲解 Python numpy.ndim 和 numpy.shape,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116777.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!