NumPy 教程 之 NumPy 切片和索引 6

简介: `ndarray`可通过索引或切片访问和修改。索引基于0-n,切片使用`slice`函数或`start:stop:step`语法。单参数如`[2]`获取单一元素,`[2:]`获取从索引2开始至末尾的元素,`[2:7]`获取索引2到6的元素。多维数组也支持这些操作。

NumPy 教程 之 NumPy 切片和索引 6

NumPy 切片和索引

ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。

ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

我们也可以通过冒号分隔切片参数 start:stop:step 来进行切片操作:

冒号 : 的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。

多维数组同样适用上述索引提取方法:

实例

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]]

目录
相关文章
|
4月前
|
索引 Python
NumPy 教程 之 NumPy 切片和索引 3
`ndarray`可通过索引或切片访问和修改。索引基于0-n, 类似Python列表。使用`s(slice(start, stop, step))`或`start:stop:step`语法进行切片。单参数如`[2]`获取单个元素; `2:`获取从2开始所有元素; `2:7`获取2到6的元素。
33 6
|
4月前
|
索引 Python
NumPy 教程 之 NumPy 切片和索引 7
NumPy 切片和索引用于访问和修改 `ndarray` 对象。类似于 Python 的列表切片, 使用索引 `[0-n]` 和切片 `slice(start, stop, step)` 或简写为 `[start:stop:step]` 来提取元素。单个索引 `[n]` 获取单个元素, `[n:]` 获取从 `n` 开始的所有元素, `[n:m]` 获取 `n` 至 `m-1` 的元素。省略号 `...` 保持选择维度与数组一致, 如 `a[...,1]` 获取所有第二列, `a[1,...]` 获取第二行, `a[...,1:]` 获取所有第二列及之后的元素。
27 4
|
4月前
|
索引 Python
NumPy 教程 之 NumPy 切片和索引 5
`ndarray`可通过索引或切片访问和修改。使用 `slice` 函数或冒号语法 `[start:stop:step]` 从原数组切割新数组。单参数 `[n]` 获取单个元素, `[n:]` 获取从 n 开始的所有元素, `[n:m]` 获取 n 到 m-1 的元素。 **示例:** ```python import numpy as np a = np.arange(10) # 创建数组 [0 1 2 3 4 5 6 7 8 9] print(a[2:5]) # 输出 [2 3 4] ```
31 3
|
4月前
|
索引 Python
NumPy 教程 之 NumPy 切片和索引 4
NumPy 切片和索引允许访问和修改 `ndarray` 对象的内容。类似于 Python 的列表切片, 可以使用 `start:stop:step` 形式的索引, 其中省略号代表默认值。
23 3
|
4月前
|
索引 Python
NumPy 教程 之 NumPy 切片和索引 2
`ndarray` 支持类似 Python `list` 的切片操作。可通过 `slice` 函数设置 `start`, `stop`, `step` 参数或用冒号语法 `start:stop:step` 从原数组中获取新数组。示例: `a = np.arange(10); b = a[2:7:2]` 输出 `[2 4 6]`.
25 2
|
4月前
|
存储 Python
NumPy 教程 之 NumPy 创建数组 8
**NumPy创建数组:使用`zeros_like`创建与原数组形状相同的零数组。`zeros_like(a, dtype=None, order='K', subok=True, shape=None)`基于给定数组`a`的形状,生成所有元素为0的新数组。参数可定制数据类型、存储顺序和形状。实例:创建一个3x3的零矩阵。**
45 7
|
4月前
|
Python
NumPy 教程 之 NumPy 创建数组 5
`NumPy`教程:使用`numpy.ones`创建全1数组,形如`numpy.ones(shape, dtype=None, order='C')`,参数`shape`定义数组形状,`dtype`指定数据类型,默认无类型,`order`设定内存布局,默认'C'(行优先)。
30 4
|
4月前
|
Python
NumPy 教程 之 NumPy 创建数组 6
`NumPy`教程中介绍如何用`numpy.ones`创建数组:生成指定形状的全1数组。例如,`np.ones(5)`产生一维浮点数数组,`np.ones([2,2], dtype=int)`则创建二维整数数组。输出: ``` [1. 1. 1. 1. 1.] [[1 1] [1 1]] ``` 形状、数据类型(默认`None`为浮点型)和内存排列顺序(默认'C')可自定义。
36 3
|
4月前
|
存储 Python
NumPy 教程 之 NumPy 创建数组 2
使用`numpy.empty`创建未初始化的数组,如`np.empty([3,2], dtype=int)`,返回包含随机内存值的`(3,2)`形状数组。`dtype`定义数据类型,默认为`float`,`order`指定内存布局,`'C'`(行优先)或`'F'`(列优先)。实例输出显示未初始化的整数数组元素值是随机的。
38 4
|
4月前
|
存储 Python
NumPy 教程 之 NumPy 创建数组 7
`NumPy`创建数组时,可用`zeros_like`创建与给定数组形状相同的零数组,或用`zeros`指定形状创建。`zeros_like(a)`基于已有数组`a`的形状,`zeros(shape)`则按提供的形状。参数包括数据类型(`dtype`)、内存顺序(`order`)和形状(`shape`)。`shape`若不设,则复制`a`的形状。
39 2