Numpy快速入门——shape属性,你秒懂了吗
前言
对于学习NumPy(Numeric Python),首先得明确一点是:Numpy 是用来处理矩阵数组的。
shape 属性
对于shape函数,官方文档是这么说明:
the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension.
直译:数组的维度。这是一个整数的元组,元组中的每一个元素对应着每一维度的大小(size)。
再直译一点理解就是,若元组只有一个元素,则说明这个数组是一维数组:如元组(2,) 表示一维数组,只含有2个元素;同理,(1,3)表示的是一个2维数组,因为含有2个元素 :1,3
举例说明:
一维数组
import numpy as np
a = np.array([1,2,3])
print(a.shape) # 输出 (3,)
说明:这里输出的元组(3,)按官方的文档理解,这里的3表示的是第一个维度中元素的大小(size);
同理,对于二维数组myarray,可推测出myarray.shape输出的应该类似(n,m)只含有两个元素的元组。
其中,第一个元素n代表中一维数组中元素的个数;m代表第二维度中元素的个数。
b = np.array([[1,2,3],[3,4,5]])
print(b.shape) # 输出(2,3)
元组(2,3) 说明这是一个二维数组,其中第一个维度含有2个元素,第二个维度中每一个元素都含有3个元素(1,2,3).
总结
通过以上的例子,我们可以知道对于numpy中数组的shape属性输出的元组,有以下两个结论:
- 元组的元素的个数等于维度数
- 元组中每一个元素又代表中每一维度元素的个数(从左到右,依次为第一维度中元素的个数,第二维度中元素的个数...第n维度元素的个数)
如,若某一个numpy数组test_array 调用shape输出为(2,3,3,4) 我们根据上面的结论,就可以很快的知道这是一个维的数组。
其中,第一个维度只有2个元素。第二个维度有3个元素,第三个维度也有3个元素,最后的第四个维度有4个元素。
最后的最后
对于numpy中的数组,若是不知道他是几维的,我们可以输出他的shape属性,然后,数一下有几个元素就很easy 知道数组是几维数组啦。
Numpy快速入门——shape属性,你秒懂了吗的更多相关文章
- numpy快速入门
numpy快速入门 numpy是python的科学计算的核心库,很多更高层次的库都基于numpy.博主不太喜欢重量级的MATLAB,于是用numpy进行科学计算成为了不二选择. 本文主要参考Scipy ...
- NumPy快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下NumPy这个科学计算库的使用方法.下面记录相关学习笔记. 简介 NumPy是一个科学计算库.结合Py ...
- numpy中 array数组的shape属性
numpy.array 的shape属性理解 在码最邻近算法(K-Nearest Neighbor)的过程中,发现示例使用了numpy的array数组管理,其中关于array数组的shape(状态)属 ...
- h5py快速入门指南
h5py是Python语言用来操作HDF5的模块.下面的文章主要介绍h5py的快速入门指南,翻译自h5py的官方文档:http://docs.h5py.org/en/latest/quick.html ...
- 【笔记】PyTorch快速入门:基础部分合集
PyTorch快速入门 Tensors Tensors贯穿PyTorch始终 和多维数组很相似,一个特点是可以硬件加速 Tensors的初始化 有很多方式 直接给值 data = [[1,2],[3, ...
- Html与CSS快速入门02-HTML基础应用
这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 示例 ...
- numpy简单入门
声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文) 读取文件 有一个名为world_alc ...
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- pandas快速入门
pandas快速入门 numpy之后让我们紧接着学习pandas.Pandas最初被作为金融数据分析工具而开发出来,后来因为其强大性以及友好性,在数据分析领域被广泛使用,下面让我们一窥究竟. 本文参考 ...
随机推荐
- 与音频相关的技术知识点总结(Linux方向的开发)
几个术语和概念: 1. 关于PCM的 PCM是Pulse code modulation的缩写,它是对波形最直接的编码方式.它在音频中的地位可能和BMP在图片中的地位有点类似吧. Samp ...
- 2.QT中使用资源文件,程序打包
1 程序中使用资源文件 A 一个QT空项目 B 右击项目,添加新文件 添加后的效果是 C 右击main.prc,选择"添加现有项",找到要使用的资源文件.最终的效果是: ...
- 简单RPC实现之Netty实现
所谓RPC就是远程方法调用(Remote Process Call ),简单的来说就是通过MQ,TCP,HTTP或者自己写的网络协议来传输我要调用对方的什么接口,对方处理之后再把结果返回给我.就这么 ...
- AndroidStudio如何快速制作.so
之前写过一篇Eclipse制作.so的文章,http://blog.csdn.net/baiyuliang2013/article/details/44306921使用的是GNUstep模拟Linux ...
- Eclipse 快捷方式 指定 固定 workspace
右点击Eclipse快捷键,然后点击属性, 把目标(target)内容修改如下: clipse -data c:\myworkspace -vm c:\ j2sdk1.5\jre\bin\javaw ...
- 如何优化MySQL insert性能
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长.我们就有一个业务系统,每天的数据导入需要4-5个钟.这种费时的操作其实是很有风险的,假设程序出了问题,想重跑 ...
- Unity UGUI基础之Toggle
Toggle组合按钮(单选框),可以将多个Toggle按钮加入一个组,则他们之间只能有一个处于选中状态(Toggle组合不允许关闭的话). 一.Toggle组件: Toggle大部分属性等同于Butt ...
- Java中函数的递归调用
说到递归,java中的递归和C语言中也是很相似的,在Java中,递归其实就是利用了栈的先进后出的机制来描述的. public class HelloWorld { public static void ...
- iOS高效编程秘诀—坚持编程习惯
资料源于网络 习惯会影响一个人做事的方式,也会直接影响效率.我经常在项目完成后自我总结,有哪些做得好的,有哪些做得不好的?然后把一些好的流程记录下来,并且重新运用回编程中.那些能够坚持去做的流程,就变 ...
- mysql的基本使用命令
启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show datab ...