索引例程#

参见

基础.索引

生成索引数组#

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)

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