Python NumPy 数组索引

news2024/11/15 11:01:26

前言

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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态内容管理

这期我们来看动态内存管理的相关知识,话不多说,我们来看今天的正题 目录 1.为什么要有动态内存管理? 2.动态内存函数的介绍 2.1.malloc和free 2.2.calloc 2.3.realloc 3. 常见的动态内存错误 3.1 对NULL指针的解引用操作 3.2 对动态开…

Pytorch DataLoader中的num_workers (选择最合适的num_workers值)

一、概念 num_workers是Dataloader的概念,默认值是0。是告诉DataLoader实例要使用多少个子进程进行数据加载(和CPU有关,和GPU无关) 如果num_worker设为0,意味着每一轮迭代时,dataloader不再有自主加载数据到RAM这一步骤&#xff0…

滑动列表中使用粒子特效层级问题

前言 前面几个月疯狂堆功能,现在开始疯狂加动效,每次一说到动效就脑壳痛,还不如让我写功能。这不,今天又遇到问题了。滑动列表中mask粒子特效问题遮挡。 情况1 步骤1:使用粒子特效的层级应该>当前ui层级。 例如:当前界面所在层级为2000,其上的粒子特效至少为2001。…

dp(八)买卖股票的最好时机 (一,二、三)

目录 买卖股票的最好时机(一)_牛客题霸_牛客网 买卖股票的最好时机(二)_牛客题霸_牛客网 买卖股票的最好时机(三)_牛客题霸_牛客网 假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买…

基于云的文档管理系统:DocuWare Cloud

云文档管理软件:DocuWare Cloud 一流的云文档管理软件和工作流自动化内容服务,适用于任何规模的团队和公司——在多租户云平台上交付。 DocuWare Cloud 可在订阅的基础上为不同规模的公司提供灵活的许可证。 每个订阅都涵盖全方位的服务,包…

dvwa中的爆破

环境:dvwa: 192.168.11.135 dvwa版本: Version 1.9 (Release date: 2015-09-19)kail机器:192.168.11.1561、Low级别代码:1、启动 burpsuite 开始抓包,然后点击 login,然后在 bp 里面就能看见抓包到的包。这…

Java集合常见面试题(二)

Collection 子接口之 List ArrayList 和 Vector 的区别? ArrayList 是 List 的主要实现类,底层使用 Object[]存储,适用于频繁的查找工作,线程不安全 ;Vector 是 List 的古老实现类,底层使用Object[] 存储&#xff0…

谷粒学院复习

一、Mybatis Plus复习分布式系统唯一ID主键策略(面试)面试的时候就说知道有以下四种策略,分别介绍一下每一种,然后说一下项目中用的是雪花算法分类自动增长 AUTO INCREMENT就是自动增长,每次都会自动加一。缺点:如果在分库分表的场…

VUE: Vue3+TS的项目搭建及基础使用

简介 通过 Vue-cli4 创建的 Vue3TS 的项目,并进行一些基础使用的举例。 项目搭建 1. 进入命令提示符窗口 在要搭建项目的文件夹中,点击路径,输入CMD并按回车 2. 查看node版本、Vue-cli版本 2.1 node版本(14.x以上&#xf…

基于域控的SSO单点登录

大家好,好久不见,今天老吕给大家来一篇偏冷门知识的文章。一、需求大型集团企业内部会有许多业务系统,工作人员也往往需要登录多个业务系统才能完成工作,这就可能会存在一些问题1、多套账号与密码需要记录或者记忆2、多次登录&…

14.live555mediaserver-setup请求与响应

live555工程代码路径 live555工程在我的gitee下(doc下有思维导图、drawio图):https://gitee.com/lure_ai/live555/tree/master 学习demo live555mediaserver.cpp 学习线索和姿势 1.学习的线索和姿势 网络编程 流媒体的地基是网络编程&…

Git 的常用命令

Git 的常用命令 目录Git 的常用命令帮助初始化配置提交远程仓库管理版本控制删除分支管理查看文件提交、状态帮助 查看常用命令 git help查看某个命令的使用帮助 git help [命令]查看 git 使用指南(这个命令会详细展示 git 的使用周期) git help tut…

【BP靶场portswigger-客户端13】跨来源资源共享(CORS)-4个实验(全)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

2022.12 青少年机器人技术等级考试理论综合试卷(三级)

2022年12月 青少年机器人技术等级考试理论综合试卷(三级) 分数: 100 题数: 30 一、 单选题(共 20 题, 共 80 分) 1.舵机接到 Arduino UNO/Nano 主控板的 2 号引脚, 下列选项中, 实现舵机在 0 度…

4、字符串处理

目录 一、字符串的构造 二、字符串比较 三、字符串查找 四、字符串替换 五、字符串——数值转换 Matlab中的字符串函数有: 一、字符串的构造 字符串或字符串数组的构造可以通过直接给变量赋值来实现,具体表达式中字符串的内容需要写在单引号内。如…

ESP8266 ArduinoIDE 搭建web服务器与客户端开发

一、wifi 相关配置 1.1 无线终端 wifi 模式 此模式中&#xff0c;esp8266 会连接到指定 wifi 进行工作。 #include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库const char* ssid "home"; // 连接WiFi名&#xff08;此处使用home为示例&…

Vue2-Vue开发环境搭建

一、IDE编辑器&#xff1a;Vscode&#xff0c;自行下载安装即可 二、三种引入方式&#xff0c; 教程使用方式一引入 Vue官网&#xff1a;https://v2.cn.vuejs.org/v2/guide/installation.html 方式一&#xff1a;直接script引入 教程下载开发版本&#xff0c;下载到本地&…

使用人工智能机器人提高农业效率| 数据标注

人工智能技术创新不仅仅蔓延到智慧城市、智能建筑或新的混合工作模式&#xff1b;机器人还通过人工智能、自动拖拉机、实时监测农作物的传感器、无人机或水果和蔬菜收获机器人来彻底改变农业。今天&#xff0c;我们将向您介绍一些已经在农业中使用的最有趣的AI技术&#xff0c;…

微信小程序textarea的placeholder的行高怎么修改

目前不支持修改行高。如果你的内容设置了行高但是placeholder没有行高会导致输入内容的时候感觉不是对齐的&#xff0c;想要解决这个问题怎么办呢/ 我们可以自己写个text假装是placeholder的内容。然后textarea获取焦点输入内容的时候就不显示这个text的内容。 <view class…

新入公司 git基本命令使用(二) 小乌龟版

git命令行的操作复杂不直观,且容易出错. 这里推荐大家使用 git版小乌龟插件进行使用 下载地址 :https://tortoisegit.org/download/ 安装一路next即可 创建本地仓库 右键点击克隆, 然后输入项目地址,确认 拉取代码 右键点击同步 , 然后再界面中选择好对应的分支, 点击拉取 …