Code前端首页关于Code前端联系我们

NumPy 教程:切片和索引访问和修改 ndarray 对象内容和示例

terry 2年前 (2023-09-25) 阅读数 45 #后端开发

ndarray可以通过索引或切片来访问和修改对象的内容,就像 Python 内置的容器对象一样。

如前所述,ndarray 的元素遵循从零开始的索引。共有三种类型的索引方法可用:现场访问、基本雕刻高级索引

基本切片是Python中基本切片概念向n维的扩展。通过提供 startstopstepstepstepe 构建 Python ♿♿e 步。 磁盘对象。这个 slice 对象被传递到一个数组以提取数组的一部分。

示例 1

import numpy as np
a = np.arange(10)
s = slice(2,7,2)  
print aSpread收缩

输出如下:

[2  4  6]

在上面的示例中,ndarray对象是由函数♿♿♿♿♿♿创建的。然后分别使用开始值、结束值和步长值 272 定义切片对象。当这个切片对象发送到ndarray时,它的一部分会从索引272的增量被剪切。

通过直接向 ndarray 对象提供以冒号分隔的切片参数 (start:stop:step) 可以实现相同的结果。

示例2

import numpy as np
a = np.arange(10)
b = a[2:7:2]  
print b

输出结果如下:

[2  4  6]

如果只输入一个参数,则返回索引对应的单个元素。如果您使用 a:,将从该索引开始的所有元素都将被提取。如果使用两个参数(由 : 分隔),则元素将在默认步骤中在两个索引(不包括停止索引)之间拆分。

示例3

# 对单个元素进行切片  
import numpy as np

a = np.arange(10)
b = a[5]  
print b

输出如下:

5

示例4

# 对始于索引的元素进行切片  
import numpy as np
a = np.arange(10)  
print a[2:]

输出如下:

[2  3  4  5  6  7  8  9]

示例5上面也可以说明:用于多维ndarray 。

示例 6

import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])  
print a
# 对始于索引的元素进行切片  
print  '现在我们从索引 a[1:] 开始对数组切片'  
print a[1:]

输出如下:

[[1 2 3]
 [3 4 5]
 [4 5 6]]

现在我们从索引 a[1:] 开始对数组切片
[[3 4 5]
 [4 5 6]]

切片还可以包含省略号 (...​​),以使选择排列的长度与尺寸相同。如果在数组位置使用省略号,它将返回包含数组中元素的 ndarray

示例7

# 最开始的数组  
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])  
print  '我们的数组是:'  
print a
print  '\n'  
# 这会返回第二列元素的数组:  
print  '第二列的元素是:'  
print a[...,1]  
print  '\n'  
# 现在我们从第二行切片所有元素:  
print  '第二行的元素是:'  
print a[1,...]  
print  '\n'  
# 现在我们从第二列向后切片所有元素:
print  '第二列及其剩余元素是:'  
print a[...,1:]

输出结果如下:

我们的数组是:
[[1 2 3]
 [3 4 5]
 [4 5 6]]

第二列的元素是:
[2 4 5]

第二行的元素是:
[3 4 5]

第二列及其剩余元素是:
[[2 3]
 [4 5]
 [5 6]]

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门