当前位置:网站首页>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]]
边栏推荐
- Unity | two ways to realize facial drive
- yii中console方法调用,yii console定时任务
- ClickOnce 不支持请求执行级别“requireAdministrator”
- Paddle framework: paddlenlp overview [propeller natural language processing development library]
- Leetcode skimming questions_ Sum of squares
- Unreal browser plug-in
- SPIR-V初窥
- MATLB|实时机会约束决策及其在电力系统中的应用
- Force buckle 9 palindromes
- [solved] how to generate a beautiful static document description page
猜你喜欢

Win10 add file extension

How to upgrade kubernetes in place

National intangible cultural heritage inheritor HD Wang's shadow digital collection of "Four Beauties" made an amazing debut!

黄金价格走势k线图如何看?

Docker compose配置MySQL并实现远程连接

File upload vulnerability test based on DVWA

UE4 unreal engine, editor basic application, usage skills (IV)

Alibaba canal usage details (pit draining version)_ MySQL and ES data synchronization

2022年PMP项目管理考试敏捷知识点(8)
![[flask] official tutorial -part3: blog blueprint, project installability](/img/fd/fc922b41316338943067469db958e2.png)
[flask] official tutorial -part3: blog blueprint, project installability
随机推荐
3D视觉——4.手势识别(Gesture Recognition)入门——使用MediaPipe含单帧(Singel Frame)和实时视频(Real-Time Video)
CocoaPods could not find compatible versions for pod 'Firebase/CoreOnly'
Condition and AQS principle
基於DVWA的文件上傳漏洞測試
037 PHP login, registration, message, personal Center Design
How to get all sequences in Oracle database- How can I get all sequences in an Oracle database?
记一个 @nestjs/typeorm^8.1.4 版本不能获取.env选项问题
Leetcode 208. Implement trie (prefix tree)
Basic process and testing idea of interface automation
Luo Gu P1170 Bugs Bunny and Hunter
Crawler request module
Huawei converged VLAN principle and configuration
干货!通过软硬件协同设计加速稀疏神经网络
【详细】快速实现对象映射的几种方式
【全網最全】 |MySQL EXPLAIN 完全解讀
Leetcode1961. Check whether the string is an array prefix
竞赛题 2022-6-26
A Cooperative Approach to Particle Swarm Optimization
leetcode刷题_反转字符串中的元音字母
【Flask】响应、session与Message Flashing