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最初被作为金融数据分析工具而开发出来,后来因为其强大性以及友好性,在数据分析领域被广泛使用,下面让我们一窥究竟. 本文参考 ...
随机推荐
- 开源项目——小Q聊天机器人V1.2
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 1、Android测试入门
编写和运行测试时Android APP开发周期中的重要的一环.好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信.使用Android Studio,你可以在物理设备或者虚拟机中运 ...
- (NO.00004)iOS实现打砖块游戏(三):游戏主场景和砖块
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 制作墙体 首先在SpriteBuilder中新建Wall.ccb ...
- 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等
1. 在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...
- linux服务器批量部署应用系统shell脚本(Tomcat/jetty)
linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...
- 分布式进阶(十三)Docker Container间实现数据共享
sudo docker run -it -v /usr/lib:/usr/lib/dbdata --name dbcontainer-192.168.1.184 ubuntu:14.04 sudo d ...
- 学习tornado:介绍
前言 在python里面,有许多web framework.对于我来说,因为很长一段时间都在使用tornado,所以有了一些心得体会.虽然现在我的工作重点已经转向go了,但是我觉得还是有必要记录一下t ...
- 【一天一道LeetCode】#44. Wildcard Matching
一天一道LeetCode系列 (一)题目 Implement wildcard pattern matching with support for '?' and '*'. '?' Matches a ...
- C语言中 sscanf 的用法
名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ...
- 浅谈C之精华---指针
今天是2016年的第一天,祝大家元旦快乐!哎,今天有点倒霉,代码写到一半,突然机子就没电了,幸好有保存,否则今天没有这篇日志的出现. 好了,今天以我个人的角度来深度剖析一下C语言中关于指针的用法以及注 ...