索引例程#

另请参阅

ndarray 的索引

生成索引数组#

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

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

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

为嵌套循环创建 nditers。

flatiter()

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

iterable(y)

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