当前位置:网站首页>NumPy 数组索引 切片
NumPy 数组索引 切片
2022-07-06 01:36:00 【佛系的老肖】
NumPy 数组索引
访问数组元素
数组索引与访问数组元素相同。
您可以通过引用数组元素的索引号来访问该元素。
NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1,依此类推。
例1 从以下数组中获取第一个元素:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr[0])
运行结果:
1
例2 从以下数组中获取第二个元素。
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr[1])
运行结果:
2
例3 从以下数组中获取第三个和第四个元素并添加它们。
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr[2] + arr[3])
运行结果:
7
访问 2-D 数组
要从二维数组中访问元素,我们可以使用逗号分隔的整数来表示元素的维度和索引。
将二维数组想象成包含行和列的表,其中行表示维度,索引表示列。
例:访问第一行第二列上的元素:
import numpy as np
arr = np.array([[1,2,3,4,5], [6,7,8,9,10]])
print('第一行第二列上的元素为: ', arr[0, 1])
运行结果:
第一行第二列上的元素为: 2
例2: 访问第 2 行第 5 列中的元素:
import numpy as np
arr = np.array([[1,2,3,4,5], [6,7,8,9,10]])
print('第 2 行第 5 列中的元素为: ', arr[1, 4])
运行结果:
第 2 行第 5 列中的元素为: 10
访问 3-D 数组
要从三维数组中访问元素,我们可以使用逗号分隔的整数来表示元素的维度和索引。
例1 访问第一个数组的第二个数组的第三个元素:
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(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
负索引
使用负索引从末尾访问数组。
例 打印第二个 dim 的最后一个元素:
import numpy as np
arr = np.array([[1,2,3,4,5], [6,7,8,9,10]])
print('第二个 dim 的最后一个元素: ', arr[1, -1])
运行结果:
第二个 dim 的最后一个元素: 10
NumPy 数组切片
切片数组
Python中的切片意味着将元素从一个给定索引带到另一个给定索引。
我们传递切片而不是索引,如下所示:.[start:end]
我们也可以定义步骤,如下所示:。[start:end:step]
如果我们不设置start,则表示从0开始
如果我们不设置 end,则表示数组长度
如果我们不设置 step,则默认为1
例:从以下数组中将元素从索引 1 切片到索引 5:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])
运行结果:
[2 3 4 5]
注意:结果包括
起始索引,但不包括
结束索引。
例 : 将元素从索引 4 切片到数组的末尾:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[4:])
运行结果:
[5 6 7]
例子:从开始到索引 4(不包括)对元素进行切片:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])
运行结果:
[1 2 3 4]
负切片
使用减号运算符从末尾引用索引:
例 : 从末尾的索引 3 切到从末尾的索引 1:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])
运行结果:
[5 6]
step 步长
使用step
确定切片长度:
例 : 返回从索引 1 到索引 5 的所有其他元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])
运行结果:
[2 4]
例子 从整个数组中返回所有奇数元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])
运行结果:
[1 3 5 7]
2-D 数组 切片
例 从第二个元素开始,将元素从索引 1 切片到索引 4(未包含):
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])
运行结果:
[7 8 9]
例 从这两个元素返回索引 2:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])
运行结果:
[3 8]
例子:从两个元素,切片索引 1 到索引 4(未包括在内),这将返回一个 2-D 数组:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])
运行结果:
[[2 3 4]
[7 8 9]]
边栏推荐
- 2022年广西自治区中职组“网络空间安全”赛题及赛题解析(超详细)
- National intangible cultural heritage inheritor HD Wang's shadow digital collection of "Four Beauties" made an amazing debut!
- MCU lightweight system core
- MUX VLAN configuration
- C web page open WinForm exe
- Folio.ink 免费、快速、易用的图片分享工具
- Yii console method call, Yii console scheduled task
- Unreal browser plug-in
- NLP第四范式:Prompt概述【Pre-train,Prompt(提示),Predict】【刘鹏飞】
- Tcpdump: monitor network traffic
猜你喜欢
MATLB | real time opportunity constrained decision making and its application in power system
Basic operations of database and table ----- set the fields of the table to be automatically added
Condition and AQS principle
Yii console method call, Yii console scheduled task
【Flask】官方教程(Tutorial)-part2:蓝图-视图、模板、静态文件
Mathematical modeling learning from scratch (2): Tools
MUX VLAN configuration
leetcode刷题_平方数之和
Maya hollowed out modeling
Initialize MySQL database when docker container starts
随机推荐
ClickOnce 不支持请求执行级别“requireAdministrator”
TrueType字体文件提取关键信息
Redis守护进程无法停止解决方案
竞价推广流程
干货!通过软硬件协同设计加速稀疏神经网络
晶振是如何起振的?
How to upgrade kubernetes in place
Leetcode skimming questions_ Invert vowels in a string
General operation method of spot Silver
selenium 元素定位(2)
01.Go语言介绍
Blue Bridge Cup embedded stm32g431 - the real topic and code of the eighth provincial competition
You are using pip version 21.1.1; however, version 22.0.3 is available. You should consider upgradin
基於DVWA的文件上傳漏洞測試
Ordinary people end up in Global trade, and a new round of structural opportunities emerge
leetcode刷题_反转字符串中的元音字母
Docker compose configures MySQL and realizes remote connection
Electrical data | IEEE118 (including wind and solar energy)
Condition and AQS principle
Leetcode1961. 检查字符串是否为数组前缀