索引例程#

生成索引数组#

c_

将切片对象转换为沿第二个轴的连接。

r_

将切片对象转换为沿第一个轴的连接。

s_

一种更好的方法来构建数组的索引元组。

nonzero(a)

返回非零元素的索引。

where(condition, [x, y], /)

根据 conditionxy 中选择元素。

indices(dimensions[, dtype, sparse])

返回表示网格索引的数组。

ix_(*args)

从多个序列构建一个开放网格。

ogrid

返回一个开放多维“网格”的实例。

ravel_multi_index(multi_index, dims[, mode, ...])

将元组索引数组转换为平面索引数组,将边界模式应用于多索引。

unravel_index(indices, shape[, order])

将平面索引或平面索引数组转换为坐标数组元组。

diag_indices(n[, ndim])

返回访问数组主对角线的索引。

diag_indices_from(arr)

返回访问 n 维数组主对角线的索引。

mask_indices(n, mask_func[, k])

给定掩码函数,返回访问 (n, n) 数组的索引。

tril_indices(n[, k, m])

返回 (n, m) 数组下三角形的索引。

tril_indices_from(arr[, k])

返回 arr 下三角形的索引。

triu_indices(n[, k, m])

返回 (n, m) 数组上三角形的索引。

triu_indices_from(arr[, k])

返回 arr 上三角形的索引。

类似索引的操作#

take(a, indices[, axis, out, mode])

沿轴从数组中获取元素。

take_along_axis(arr, indices, axis)

通过匹配 1d 索引和数据切片从输入数组中获取值。

choose(a, choices[, out, mode])

从索引数组和可供选择的数组列表中构建一个数组。

compress(condition, a[, axis, out])

返回沿给定轴选择切片的数组。

diag(v[, k])

提取对角线或构建对角线数组。

diagonal(a[, offset, axis1, axis2])

返回指定的对角线。

select(condlist, choicelist[, default])

根据条件从 choicelist 中的元素中获取一个数组。

lib.stride_tricks.sliding_window_view(x, ...)

使用给定的窗口形状创建数组的滑动窗口视图。

lib.stride_tricks.as_strided(x[, shape, ...])

使用给定的形状和步长创建数组的视图。

向数组中插入数据#

place(arr, mask, vals)

根据条件和输入值更改数组的元素。

put(a, ind, v[, mode])

用给定的值替换数组的指定元素。

put_along_axis(arr, indices, values, axis)

通过匹配 1d 索引和数据切片,将值放入目标数组。

putmask(a, mask, values)

根据条件和输入值更改数组的元素。

fill_diagonal(a, val[, wrap])

填充任意维度的给定数组的主对角线。

迭代数组#

nditer(op[, flags, op_flags, op_dtypes, ...])

高效的多维迭代器对象,用于迭代数组。

ndenumerate(arr)

多维索引迭代器。

ndindex(*shape)

用于索引数组的 N 维迭代器对象。

nested_iters(op, axes[, flags, op_flags, ...])

创建用于嵌套循环的 nditers

flatiter()

用于迭代数组的扁平迭代器对象。

lib.Arrayterator(var[, buf_size])

大数组的缓冲迭代器。

iterable(y)

检查对象是否可以迭代。