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的身份证号码自动生成程序
Aug 15 Python
Python实现Linux下守护进程的编写方法
Aug 22 Python
python写入中英文字符串到文件的方法
May 06 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
Python作用域与名字空间原理详解
Mar 21 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
解析目标检测之IoU
Jun 26 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
jquery实现手风琴案例
2020/05/04 jQuery
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
python 如何调用 dubbo 接口
2020/09/24 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
关于运动会的稿件
2014/02/02 职场文书
研究生求职自荐书
2014/06/23 职场文书
买房子个人收入证明
2014/10/12 职场文书
工厂采购员岗位职责
2015/04/07 职场文书
学历证明样本
2015/06/16 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
2019新员工心得体会
2019/06/25 职场文书