Python NumPy 数组索引的示例详解
目录
- 前言
- 1、访问数组元素
- 2、访问 2-D Arrays(数组)
- 3、访问 3-D Arrays(数组)
- 4、负索引
前言
NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍Python NumPy 数组索引及访问数组元素。
1、访问数组元素
数组索引与访问数组元素相同。
您可以通过引用其索引号来访问数组元素。
NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1等。
例如:
从以下数组中获取第一个元素:
import numpy as np arr = np.array([1, 3, 3, 4]) print(arr[0]) # 1
例如:
从以下数组中获取第二个元素。
import numpy as np arr = np.array([1, 3, 3, 4]) print(arr[1]) # 3
例如:
从以下数组中获取第三和第四个元素并将其添加。
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr[2] + arr[3]) # 7
2、访问 2-D Arrays(数组)
要访问二维数组中的元素,我们可以使用逗号分隔的整数来表示元素的维数和索引。
例如:
在第一个昏暗处访问第二个元素:
import numpy as np arr = np.array([[1,12,3,4,5], [6,7,8,9,10]]) print('2nd element on 1st dim: ', arr[0, 1]) # 2nd element on 1st dim: 12
例如:
进入第二个暗处的第五个元素:
import numpy as np arr = np.array([[1,2,3,4,5], [6,7,8,9,110]]) print('5th element on 2nd dim: ', arr[1, 4]) # 5th element on 2nd dim: 110
3、访问 3-D Arrays(数组)
要访问3-D数组中的元素,我们可以使用逗号分隔的整数来表示元素的尺寸和索引。
例如:
访问第一个数组的第二个数组的第三个元素:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) print(arr[0, 1, 2])
示例说明
arr[0, 1, 2]输出的值为6.
这就是为什么:
第一个数字表示第一维,它包含两个数组:
[[1、2、3],[4、5、6]]
和:
[[7、8, 9],[10,11,12]]
因为我们选择了0,所以剩下的第一个数组是:
[[1、2、3],[4 ,5,6]]
第二个数字代表第二维,它还包含两个数组:
[1、2、3]
和:
[4、5、6]
,因为我们选择了1,剩下第二个数组:
[4,5,6]
第三个数字代表第三个维度,其中包含三个值:
4
5
6
由于我们选择了2,因此我们以第三个维度结束 值:
6
4、负索引
使用负索引从头开始访问数组。
例如:
打印第二个暗处的最后一个元素:
import numpy as np arr = np.array([[1,2,3,4,5], [6,7,8,9,110]]) print('Last element from 2nd dim: ', arr[1, -1]) # Last element from 2nd dim: 110
参考资料:https://www.cjavapy.com/article/1040/
到此这篇关于Python NumPy 数组索引的文章就介绍到这了,更多相关Python NumPy 数组索引内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Python中的 Numpy 数组形状改变及索引切片
目录 1.改变数组形状 2.索引和切片 1.改变数组形状 数组的shape属性返回一个元组,包括维度以及每个轴的元素数量,Numpy 还提供了一个reshape()方法,它可以改变数组的形状,返回一个新的数组. 例如: a = np.array([1,2,3,4,5,6,7,8]) 转换成二维数组: b = a.reshape((2,4)) 转换成三维数组: c = a.reshape((2,2,2)) 但是需要注意的是,修改后的数组元素个数与原数组元素个数必须是一致的,不一致会报错. 例如执行
-
python numpy数组的索引和切片的操作方法
NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用Nu
-
python如何获得list或numpy数组中最大元素对应的索引
获得list中最大元素的索引 aa = [1,2,3,4,5] aa.index(max(aa)) 相应的最小值使用 aa = [1,2,3,4,5] aa.index(min(aa)) 获得numpy数组中最大元素的索引 1.可以使用numpy的函数,argmax获得最大元素的索引,相应的获得最小值的话需要使用argmin. aa = [1,2,3,4,5] arr_aa = np.array(aa) maxindex = np.argmax(arr_aa ) 1.也可以将numpy转为lis
-
python中找出numpy array数组的最值及其索引方法
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) >>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>&
-
Python OpenCV实现图形检测示例详解
目录 1. 轮廓识别与描绘 1.1 cv2.findComtours()方法 1.2 cv2.drawContours() 方法 1.3 代码示例 2. 轮廓拟合 2.1 矩形包围框拟合 - cv2.boundingRect() 2.2圆形包围框拟合 - cv2.minEnclosingCircle() 3. 凸包 绘制 4. Canny边缘检测 - cv2.Canny() 4.1 cv2.Canny() 用法简介 4.2 代码示例 5. 霍夫变换 5.1 概述 5.2 cv2.HoughLin
-
numpy中索引和切片详解
索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制,从而得到它的副本(.copy()). import numpy as np #导入numpy arr = np.arange(10) #类似于list的range() arr Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr[4] #索引(注意是从
-
Python Numpy,mask图像的生成详解
什么是掩膜(mask) 在numpy中,有一个模块叫做ma,这个模块几乎复制了numpy里面的所有函数,当然底层里面都换成了对自己定义的新的数据类型MaskedArray的操作. 我们来看最基本的array定义. An array class with possibly masked values. Masked values of True exclude the corresponding element from any computation. MaskedArray是一个可能带有掩膜信
-
python实现PCA降维的示例详解
概述 本文主要介绍一种降维方法,PCA(Principal Component Analysis,主成分分析).降维致力于解决三类问题. 1. 降维可以缓解维度灾难问题: 2. 降维可以在压缩数据的同时让信息损失最小化: 3. 理解几百个维度的数据结构很困难,两三个维度的数据通过可视化更容易理解. PCA简介 在理解特征提取与处理时,涉及高维特征向量的问题往往容易陷入维度灾难.随着数据集维度的增加,算法学习需要的样本数量呈指数级增加.有些应用中,遇到这样的大数据是非常不利的,而且从大数据集中学习
-
Python+matplotlib实现绘制等高线图示例详解
目录 前言 1. 等高线图概述 什么是等高线图? 等高线图常用场景 绘制等高线图步骤 案例展示 2. 等高线图属性 设置等高线颜色 设置等高线透明度 设置等高线颜色级别 设置等高线宽度 设置等高线样式 3. 显示轮廓标签 4. 填充颜色 5. 添加颜色条说明 总结 前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) Python matplotlib底层原理解析 Python利用 m
-
利用Python创建位置生成器的示例详解
目录 介绍 开始 步骤 创建训练数据集 创建测试数据集 将合成图像转换回坐标 放在一起 结论 介绍 在这篇文章中,我们将探索如何在美国各地城市的地图数据和公共电动自行车订阅源上训练一个快速生成的对抗网络(GAN)模型. 然后,我们可以通过为包括东京在内的世界各地城市创建合成数据集来测试该模型的学习和概括能力. git clone https://github.com/gretelai/GAN-location-generator.git 在之前的一篇博客中,我们根据电子自行车订阅源中的精确位置数
-
python列表生成器常用迭代器示例详解
目录 列表生成式基础语法 1. 使用列表生成式,一行解决for循环 2. 双层循环 3. 加判断语句,条件过滤 4. 加入函数 5. 常见几种迭代器:range. zip . enumerate . filter . reduce 列表生成式基础语法 [exp for iter_var in iterable (if conditional)] 原理: 首先迭代 iterable 里所有内容,每一次迭代,都把iterable里相应的内容放在iter_var中,再把表达式exp应用该iter_va
-
Python+pyaudio实现音频控制示例详解
简介 PyAudio是一个跨平台的音频处理工具包,使用该工具包可以在Python程序中播放和录制音频,也可以产生wav文件等 安装 pip install PyAudio 注意:使用该命令安装时可能会报错,报错内容如下: 针对该问题,我们使用whl文件进行安装,首先在网址下面找到以下文件并下载,根据自己的python版本及计算机系统下载相应文件即可. 下载完成后,切换到文件所在目录,使用如下命令安装即可 pip3 install PyAudio-0.2.11-cp38-cp38-win_amd6
-
Python获取时间的操作示例详解
目录 获得当前时间时间戳 获取当前时间 获取昨天日期 生成日历 计算每个月天数 计算3天前并转换为指定格式 获取时间戳的旧时间 获取时间并指定格式 pandas 每日一练 21读取本地EXCEL数据 22查看df数据前5行 23将popularity列数据转换为最大值与最小值的平均值 24将数据根据project进行分组并计算平均分 25将test_time列具体时间拆分为两部分(一半日期,一半时间) 获得当前时间时间戳 # 注意时区的设置 import time # 获得当前时间时间戳 now
-
Python NumPy教程之数据类型对象详解
每个 ndarray 都有一个关联的数据类型 (dtype) 对象.这个数据类型对象(dtype)告诉我们数组的布局.这意味着它为我们提供了以下信息: 数据类型(整数.浮点数.Python 对象等) 数据大小(字节数) 数据的字节顺序(小端或大端) 如果数据类型是子数组,它的形状和数据类型是什么. ndarray 的值存储在缓冲区中,可以将其视为连续的内存字节块.所以这些字节将如何被解释由dtype对象给出. 构造数据类型(dtype)对象 数据类型对象是 numpy.dtype 类的一个实例,
随机推荐
- XML轻松学习手册(5)XML实例解析
- CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
- Three.js中网格对象MESH的属性与方法详解
- VMWare12 下Ubuntu虚拟机没法通过长按方向键连续移动光标的解决办法
- js实现滚动条滚动到某个位置便自动定位某个tr
- PHP图片自动裁切应付不同尺寸的显示
- 浅谈PHP接收POST数据方式
- 用PHP实现文件上传二法
- SQL Server数据库重命名、数据导出的方法说明
- 基于jQuery的弹出隐藏层的窗口特效
- js鼠标经过tab选项卡时实现切换延迟
- 如何使用JFrame完成动态模拟时钟
- 如何保障IIS的安全避免服务器遭到攻击
- Python实现多进程共享数据的方法分析
- Asp.Net Core中WebSocket绑定的方法详解
- Mac下安装vue
- Java利用递归算法实现查询斐波那契数
- Vue CLI3 如何支持less的方法示例
- IE:获取完整的网页
- mysql 5.7.16 ZIP包安装配置教程
其他
- lauui table 颜色
- viewer.js 安卓系统无法显示
- vant的PopupTime怎么引入
- postgresql 删除归档日志
- 黑科技保活方法的 PoC
- leetcodeplugin点击之后会出现页面该怎么选择
- python的save_text_to_word
- camera 启动优化
- ios 服务器多语言
- idea 使用build打jar包怎么清除缓存
- log4j2 file文件名获取类名
- vue解决跨域打包后失效
- axios设置多content-type
- go.mod中replace在环境上会生效吗
- python 设置跨文件全局变量
- c# checkedlistbox 设置高亮
- js map方法详解
- 如何看懂statsmodel开源代码
- JavaScript 获取当前tr数值
- js button点击后改变状态