Numpy 理解ndarray对象的示例代码


Posted in Python onApril 03, 2020

  numpy作为python科学计算的基础模块,支撑起了pandas、matplotlib等使用。其中,ndarray作为numpy的重要使用对象不得不研究理解一下。

  ndarray,存储单一数据类型的多维数组结构,在内存中连续存在,以行索引和列索引的方式标记数组中的每一个元素。采用预编译好的C语言代码,性能上的表现十分不错。

1、ndarray的数据结构

Numpy 理解ndarray对象的示例代码

2、ndarray的创建

numpy主要有以下几种方式创建数组。除此之外,其他过程也可能产生数组,比如:cv2.imread读取图片,返回数组。

np.array() # 传入类数组数据结构,list,tuple等,或者其他嵌套序列。返回的维度依据传入的数据而定
np.linspace() # 根据给定的间距生成等差序列,指定元素数量,返回一维数组
np.arange()# 根据给定的间距生成等差序列,指定步长。返回一维数组
np.ones() # 根据传入的shape,返回一个元素全是1的数组
np.zeros() # 根据传入的shape,返回一个元素全是0的数组
np.full() # 根据传入的shape和value,返回一个元素全是value的数组,比前面两个灵活
np.empty() # 根据传入的shape,返回一个元素全是随机化而不是空值的数组
np.genfromtxt() # 从文本文件读取生成一个数组

3、ndarray的抽象理解

先创建一个三个数组,一维、二维、三维。

arr1 = np.arange(3)
arr1
array([0, 1, 2])
---------------------------------------------------------
arr2 = np.arange(9).reshape(3,3)
arr2
array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
----------------------------------------------------------
arr3 = np.arange(27).reshape(3,3,3)
arr3
array([[[ 0, 1, 2],
    [ 3, 4, 5],
    [ 6, 7, 8]],

    [[ 9, 10, 11],
    [12, 13, 14],
    [15, 16, 17]],

    [[18, 19, 20],
    [21, 22, 23],
    [24, 25, 26]]])

在python中的arr结构如上所示。我们将其形象化表示出来,如下图。

一维数组只有一个维度,也叫rank,只有一个axis轴,axis=0。
二维数组有两个维度,有两个axis轴,axis=0和1。
三维数组有三个维度,有三个axis轴,axis=0、1、2。

Numpy 理解ndarray对象的示例代码

我们直接在三维上执行索引操作,来理解ndarray的排布。

arr3[1,2,1]
输出16

  索引[1,2,1]依次从高维到低维,从axis轴2到1到0,1指三维上的第2个元素,即上图中间的数组,是一个二维数组。2指二维上的第3个元素,是一个一维数组。1值一维上的第2个元素。也可以试着从轴方向去理解索引的原理。
可以自己操作一下下面索引代码,看看出结果。

arr3[3,3,2]

  不同维度的ndarray shape理解如下。可以通俗的认为是从点带面,再到块。

Numpy 理解ndarray对象的示例代码

4、ndarray的操作

  主要有索引、切片、过滤等,后续细谈。只要理解了ndarray,操作其实很简单。

Refer:
[1] https://danzhuibing.github.io/py_numpy_ndarray.html
[2] https://www.geeksforgeeks.org/numpy-ndarray/

到此这篇关于Numpy 理解ndarray对象的示例代码的文章就介绍到这了,更多相关Numpy ndarray对象内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中List的sort方法指南
Sep 01 Python
使用Python中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
用Python写一个无界面的2048小游戏
May 24 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
python 字典修改键(key)的几种方法
Aug 10 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
python 3.6.7实现端口扫描器
Sep 04 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
tensorflow常用函数API介绍
Apr 19 Python
python计算Content-MD5并获取文件的Content-MD5值方式
Apr 03 #Python
Django自定义列表 models字段显示方式
Apr 03 #Python
使用Django清空数据库并重新生成
Apr 03 #Python
Python基础类继承重写实现原理解析
Apr 03 #Python
Django实现列表页商品数据返回教程
Apr 03 #Python
Python第三方库的几种安装方式(小结)
Apr 03 #Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 #Python
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
php array的学习笔记
2012/05/10 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
如何解决python多种版本冲突问题
2020/10/13 Python
介绍一下游标
2012/01/10 面试题
财务部经理岗位职责
2014/02/03 职场文书
公司委托书格式
2014/08/01 职场文书
学校交通安全责任书
2014/08/25 职场文书
学前教育专业求职信
2014/09/02 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
骨干教师事迹材料
2014/12/17 职场文书