我们在描述一个多维数组的时候,经常会用到两个参数:维度(dimension)和形状(shape),以二维数组为例,我们可以用矩阵来形象地联想这两个参数,对于矩阵,显然我们最常见的矩阵是二维的,所以他的dim参数就是2,而对于形状,可以想象成这个矩阵(矩形)的的高和宽,比如一个4行3列的矩阵,他的高就是4,宽就是3。所以他的shape参数就是(4,3),这是一对数字,因此在python中使用元祖(tuple)数据结构来表示这个属性。我们可使用以下代码来进行演示:

import numpy as np

data = np.array([

[1,2,3],

[4,5,6],

[7,8,9],

[0,0,0]

])

print(data)

print(data.ndim)

print(data.shape)

在运行之后,我们可以得到以下结果:

[[1 2 3]

[4 5 6]

[7 8 9]

[0 0 0]]

2

(4, 3)

[Finished in 1.2s]

对于大于二维的多维数组,我们可以认为就是数组的数组的数组…,我们可以用嵌套(类似于套娃结构)来描述,是几维的就有多少层嵌套。但是一般而言,我们用二维的数组就够用了,三维数组被称为张量(Tensor),在机器学习中有非常好的应用。

对于三维数组,我们可以使用以下代码进行演示:

import numpy as np

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

data_2dim = np.array([data_1dim,data_1dim,data_1dim])

data_3dim = np.array([data_2dim,data_2dim])

print(data_3dim)

print(data_3dim.ndim)

print(data_3dim.shape)

我们打印出三维数组的形态如下:

[[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]

[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]]

3

(2, 3, 4)

[Finished in 1.6s]

可以看出,他是数组的数组的数组,我们在分析多维数组的时候,要理清楚结构,这个要根据配对的方括号来进行判断,找到级别的,比如这里第一队括号相对于是爷爷级别的,其他的和爷爷平级的就是第一维的元素,然后括号里面的又有括号,那就是爸爸级别的,括号里面的括号里面的括号,就是儿子级别的,数组的shape就相当于一共有几个爷爷,一个爷爷生了几个爸爸,一个爸爸生了几个儿子,这样就可以形象地理解多维数组的结构了,不过我们在使用的时候,用到二维数组就够了,三维以上的理解起来和维护起来太麻烦了,不利于软件工程的开发。

python中ndim是什么_使用Python中的ndim和shape属性获取darray数据的维度、长度、形状和其他参数,python,ndarray,等...相关推荐

  1. python中digits什么意思_在Caffe中使用 DIGITS自定义Python层

    Caffe 使得我们有了使用Python自定义层的能力,而不是通常的C++/CUDA.这是一个非常有用的特性,但它的文档记录不足,难以正确实现本演练将向您展示如何使用DIGHT来学习实现Python层 ...

  2. python线上编辑问题_大型线上项目中动态语言诸多问题之二 -- 以 Python 语言为例...

    第一个问题:Mutable对象被误改 这个是在线上环境出现过的一个BUG 事后说起来很简单,服务端数据(放在dict里面的)被意外修改了,但查证的时候也花了许多时间,伪代码如下: def routin ...

  3. python调用linux软键盘_在Linux中使用Python模拟键盘按键

    之前在做自动化测试中需要用Python在linux中模拟Ctrl+V 进行路径粘贴,试了很多种方法,起初用了xerox和pyperclip这两个python库,但打开对话框后调用粘贴API无法进行粘贴 ...

  4. python调用excel的宏_在 Excel 中使用 Python 开发宏脚本

    文 | varlemon 编辑 | EarlGrey 推荐 | 编程派公众号(ID:codingpy) 之前发文介绍过一个叫GridStudio的神器,可以在网页版应用中将 Python 与表格处理结 ...

  5. 下列变量名不符合python命名规范的是_下列选项中不符合Python语言变量命名规则的是...

    [单选题]下列Python保留字中,不用于表示分支结构的是 [单选题]以下程序的输出结果是: j = '' for i in "12345": j += i + ',' print ...

  6. python去除图片复杂背景_[OpenCV-Python] OpenCV 中的图像处理 部分 IV (五)

    部分 IV OpenCV 中的图像处理 22 直方图 22.1 直方图的计算,绘制与分析 目标 • 使用 OpenCV 或 Numpy 函数计算直方图 • 使用 Opencv 或者 Matplotli ...

  7. python分析红楼梦中人物形象_红楼梦中四个人物形象分析

    1 贾宝玉人物分析 通过认真品读石头记, 我认为把贾宝玉作以上评价是不客观. 不合实际的, 是有悖于曹雪芹 本意的. 在我看来, 贾宝玉是一个充满爱心的, 敢于向森严的封建等级制度挑战的革命英雄, 这 ...

  8. vue 父页面中的方法 调用_解决Vue中页面成功渲染数据undefined的问题

    前言 这个标题不太好取. 本文需要下面的知识: https://zhuanlan.zhihu.com/p/260811233​zhuanlan.zhihu.com 问题描述 我最近的一个功能需求是通过 ...

  9. drools规则中调用其它规则_简化机器学习中的关联规则

    你可能遇到在超市结账时,POS机自动为你打印优惠券.或者曾经观看过您的流媒体服务为您生成的视频播放列表.或者去网上购物时看到标有"你可能会感兴趣......"的产品清单中确实包含了 ...

最新文章

  1. 深度强化学习在智能城市领域应用介绍
  2. tomcat端口问题
  3. python 使用 requests 做 http 请求
  4. Vue.js学习笔记四
  5. 交换机跟计算机系统有关系,网速跟交换机有关系吗
  6. DTS开发记录(5)-- 挑战增量导出
  7. UNIX不带缓存的IO函数
  8. SSH小区停车管理系统答辩PPT免费下载
  9. spark union 会引起shuffle吗_脑鸣不是耳鸣 会引起听力下降吗?
  10. 地理人必备的宝藏网站
  11. 微信小程序获取收货地址
  12. Allegro削铜皮详细操作指导
  13. python编程助手_用Python做一个久坐提醒小助手的示例代码
  14. Youtube字幕下载转SRT字幕
  15. word怎么自动换行
  16. 两种解读,生活的意义和方法
  17. 观念什么意思_观念是什么意思_观念怎么读_造句_近义词_拼音_解释
  18. AdaCliP: Adaptive Clipping for Private SGD
  19. cmnet 和 cmwap 收费等区别
  20. 我的世界mod整合包java_我的世界1.7.10食物、匠魂与超能力向整合包(附JAVA)

热门文章

  1. Bootstrap学习之表单
  2. 《香帅金融学讲义》读书笔记
  3. Oo0代码混淆实现方法
  4. 我的python爬虫自学之路
  5. Python 多进程
  6. 华为2015年实习招聘机试
  7. “请不要在虚拟机中打开”解决方法
  8. robotframework基础入门:(2):常见问题对应方法
  9. 设置Hbuildx实现编译less的快捷键
  10. 批处理bat 延时启动的方法