索引例程#

另请参阅

ndarray 上的索引

生成索引数组#

c_

将切片对象转换为沿第二轴的串联。

r_

将切片对象转换为沿第一轴的串联。

s_

构建数组索引元组的一种更优雅的方式。

nonzero(a)

返回非零元素的索引。

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

根据 condition 返回从 xy 中选择的元素。

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)

通过匹配一维索引和数据切片从输入数组中取值。

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

根据索引数组和要从中选择的数组列表构建数组。

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

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

diag(v[, k])

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

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

返回指定对角线。

select(condlist, choicelist[, default])

根据条件返回从 choicelist 中的元素构成的数组。

将数据插入数组#

place(arr, mask, vals)

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

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

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

put_along_axis(arr, indices, values, axis)

通过匹配一维索引和数据切片将值放入目标数组。

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, ...])

创建用于嵌套循环的 nditer

flatiter()

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

iterable(y)

检查对象是否可以被迭代。