Numpy 理解ndarray对象的示例代码

 更新时间:2020年04月03日 14:15:22   作者:大Py  
这篇文章主要介绍了Numpy 理解ndarray对象的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

1、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。

我们直接在三维上执行索引操作,来理解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理解如下。可以通俗的认为是从点带面,再到块。

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的函数最详解

    这篇文章主要介绍了详解python中各种的函数,是Python入门中的基础知识,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • 在python image 中安装中文字体的实现方法

    在python image 中安装中文字体的实现方法

    今天小编大家分享一篇在python image 中安装中文字体的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • keras使用Sequence类调用大规模数据集进行训练的实现

    keras使用Sequence类调用大规模数据集进行训练的实现

    这篇文章主要介绍了keras使用Sequence类调用大规模数据集进行训练的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 利用Tensorboard绘制网络识别准确率和loss曲线实例

    利用Tensorboard绘制网络识别准确率和loss曲线实例

    今天小编就为大家分享一篇利用Tensorboard绘制网络识别准确率和loss曲线实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python tkinter和exe打包的方法

    Python tkinter和exe打包的方法

    这篇文章主要介绍了Python tkinter和exe打包的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python遍历指定文件及文件夹的方法

    Python遍历指定文件及文件夹的方法

    这篇文章主要介绍了Python遍历指定文件及文件夹的方法,对比两种实现技巧分析了Python遍历文件及文件夹的方法,需要的朋友可以参考下
    2015-05-05
  • 使用pyinstaller打包py文件的实现步骤

    使用pyinstaller打包py文件的实现步骤

    PyInstaller是一个用于将Python脚本打包成独立可执行文件的工具,本文主要介绍了使用pyinstaller打包py文件,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Django+simpleui实现文件上传预览功能(详细过程)

    Django+simpleui实现文件上传预览功能(详细过程)

    该文章详细介绍了如何在Django框架中实现文件上传、预览和下载功能,并使用SimpleUI美化Django后台界面,通过创建模型、表单、视图和配置URL,实现了文件的存储和管理,同时,文章还提到了配置媒体文件、创建模板以及在生产环境中的部署注意事项,感兴趣的朋友一起看看吧
    2025-02-02
  • 如何提取Playwright录制文件中的元素定位信息

    如何提取Playwright录制文件中的元素定位信息

    最近在学习Playwright自动化测试,本文主要介绍了如何提取Playwright录制文件中的元素定位信息,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • MacBook m1芯片采用miniforge安装python3.9的方法示例

    MacBook m1芯片采用miniforge安装python3.9的方法示例

    这篇文章主要介绍了MacBook m1芯片采用miniforge安装python3.9的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论