1. 引言

Numpy是Python中常见的数据处理库。Numpy是 Numerical Python的缩写,它是数据科学中经常使用的库。Numpy专门用于处理矩阵运算,因为它包含各式各样的处理函数。在本文中,我们主要用于学习如何迭代遍历访问矩阵中的元素。

闲话少说,我们直接开始吧!

2. 使用For循环遍历

首先我们来看个例子,使用循环来遍历数组,样例代码如下:

import numpy as np
array = np.array([1, 2, 3, 4, 5, 6])
for x in array:
    print(x)
Output:
1
2
3
4
5
6

在上面的例子中,我们创建了一个一维数组,并成功地遍历访问了每个值。现在让我们来看一个二维矩阵中的例子:

import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
for x in array:
    for y in x:
        print(y)
Output:
1
2
3
4
5
6

正如我们在上面例子中所看到的,我们仍然能够打印出每个单独的值。因为它是一个二维数组,所以我们必须使用两个for循环来输出每个单独的值。这是我们通常迭代二维数组的方式,但NumPy为我们提供了新的函数,使得迭代NumPy数组变得更容易。

3. 函数 nditer()

函数nditer()主要用于循环遍历整个数组,而无需为每个额外维度使用嵌套for循环。

我们不妨来看一个例子:

import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
for x in np.nditer(array):
    print(x)
Output:
1
2
3
4
5
6
7
8
9

上述例子是一个二维的数组,我们使用函数nditer()后,我们不需要再使用嵌套的for循环。函数‘nditer()’成功地f访问并打印了数组中的每个值。

我们不妨在来看一个三维数组的例子,样例如下:

import numpy as np
array = np.array([[[1], [2]], [[3], [4]]])
for x in np.nditer(array):
    print(x)
Output:
1
2
3
4

正如我们在上面的例子中所看到的,函数nditer()成功地迭代了三维数组中的每个元素。

4. 函数 ndenumerate()

接着我们来介绍函数ndenumerate(),该函数的作用是输出相应的索引号的对应的值。

样例代码如下:

import numpy as np
array = np.array([1, 2, 3, 4, 5, 6])
for i, x in np.ndenumerate(array):
    print(i, x)
Output:
(0,) 1
(1,) 2
(2,) 3
(3,) 4
(4,) 5
(5,) 6

正如上述例子中,我们在括号内输出了每个元素的索引号及其相应的值。接着我们再来看一个二维矩阵的例子:

import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
for i, x in np.ndenumerate(array):
    print(i, x)
Output:
(0, 0) 1
(0, 1) 2
(0, 2) 3
(1, 0) 4
(1, 1) 5
(1, 2) 6

在上述例子中,我们输出的第一维表示每个元素的索引号,第二维表示每个元素的值。

5. 结论

本文重点介绍了在Numpy中常用的两个函数nditer()以及ndenumerate(),这两个函数在高维数组中循环遍历时非常有用,希望大家可以在日常工作中多多使用。

到此这篇关于详解Python如何循环遍历Numpy中的Array的文章就介绍到这了,更多相关Python遍历Numpy Array内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

详解Python如何循环遍历Numpy中的Array的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. ios – 数组的数组.仅存储副本

    我需要存储一个Int数组的数组,用于有序重复.例:>给定数组:mainArray=[7,7,3,2,1,5,5]现在我需要创建一个int数组的数组.例:这是我有的:解决方法您可以使用reduce方法.减少工作如何?reduce将封闭中的逻辑应用于空的2D数组的整数和数字的第一个elm.然后再次应用上一次迭代的结果和第二个整数数组…if是否检查在结果中添加的最后一个数组中的数字是否等于当前检查的整数.如果这样,那个整数被添加到该数组.否则,只会添加一个仅包含新整数的数组.测试

  3. 初识Swift集合之字典集合

    这个函数也会返回被替换或者增加的值。

  4. Swift:Generators 与 Sequences 浅析

    前言Generators与Sequences构成了Swift式循环。Generators提到数组我们就会想到遍历,一般的遍历可能都是从头到尾进行的。这时候Generators就可以派上用场了。举个倒序索引的generator:好处是啥好处是啥,我的总结是把一个很抽象遍历模式使用Generators的方式剥离出来,当你对当前的迭代循环方式不爽的时候只需要修改一下当前的这个generator。SequencesGenerators在循环过程中每个元素提供的服务是一次性的。

  5. swift的一些知识点演练

    表示可以有值,也可以没有值//?如果对象为空,就不会调用后面的方法,感觉上和oc中给nil发送消息类似varstr:Nsstring?str="hello"//打印可选项的时候,同时会输出一个Optional,提示开发者,这是一个可选项println(str?.length)letl=10//目前的代码存在什么风险?如果str没有设置初始值,会直接崩溃//苹果把判断对象是否有内容的工作交给了程序员//letlen=l+str!用来快速判断对象是否为nilletlen2=l+(str?0)//以下代码和上面

  6. 再探Swift基础

    基础tuplesstringsnumericfor循环while循环if条件switchoptionalarraydictionaryset

  7. swift 基础笔记四数组

  8. swift排序算法和数据结构

    vararrayNumber:[Int]=[2,4,216)">6,216)">7,216)">3,216)">8,216)">1]//冒泡排序funcmaopao->[Int]{forvari=0;i

  9. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  10. Swift值字典使用

    字典是一种用来存放相同类型的数据项的集合。Swift中字典的概念和现实世界中的字典的概念很相似,都是通过索引来查里面特定的值。修改一个值5、删除字典键值对四、字典遍历同数组一样,字典遍历也需要使用forin循环。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部