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最初被作为金融数据分析工具而开发出来,后来因为其强大性以及友好性,在数据分析领域被广泛使用,下面让我们一窥究竟. 本文参考 ...
随机推荐
- python 远程调度进程服务与客户端
python 远程调度进程服务与客户端 核心思想: 在本地或远程机器上创建一个进程,提供调度服务.使用了 APScheduler. 安装:APScheduler $ wget https://pypi ...
- SSH深度历险(一)深入浅出Hibernate架构(一)-------映射解析——七种映射关系
ORM,全称是(Object Relational Mapping),即对象关系映射.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据 ...
- UNIX网络编程——TCP连接的建立和断开、滑动窗口
一.TCP段格式: TCP的段格式如下图所示: 源端口号与目的端口号:源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址唯一确定一个TCP连接. 序号:序号表示在这个报文段中的第一个数据字节 ...
- 经典面试题:一张表区别DOM解析和SAX解析XML
============DOM解析 vs ...
- Spring Security3 - MVC 整合教程
下面我们将实现关于Spring Security3的一系列教程. 最终的目标是整合Spring Security + Spring3MVC 完成类似于SpringSide3中mini-web的功能 ...
- Socket层实现系列 — I/O事件及其处理函数
主要内容:Socket I/O事件的定义.I/O处理函数的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd I/O事件定义 sock中定义了几个I/ ...
- ubuntu 开发环境配置及安装 nodejs
ubuntu 开发环境配置及安装 nodejs 1 安装nodejs $ sudo apt-get install build-essential $ sudo apt-get install gcc ...
- 《java入门第一季》之面向对象多态面试题(多态收尾)
/* 看程序写结果:先判断有没有问题,如果没有,写出结果 */ class A { public void show() { show2(); } public void show2() { Syst ...
- 青年之锋文学网( www.xcqnzf…
青年之锋文学网( www.xcqnzf.com )简介: 青年之锋文学网创建于2013年秋,是河南农业大学(应用科技学院)--青年之锋文学社的官方网站,网站以长篇写作和出版校刊为主题,短篇精彩丰富为中 ...
- CentOS 6.X启动流程
CentOS 6.X启动流程 /boot分区 启动引导程序是默认可以识别boot分区的.因此在系统还无法加载硬盘的时候,boot分区是可以识别的! initramfs内存文件系统 CentOS 6.x ...