📜  numpy.mask_indices()函数| Python(1)

📅  最后修改于: 2023-12-03 14:44:49.462000             🧑  作者: Mango

numpy.mask_indices()函数介绍

numpy.mask_indices(condition, shape)函数返回一个包含布尔值的数组,该布尔值数组用于对数据进行筛选,同时返回一个包含构成布尔值为true的数据元素的索引的数组。将返回的索引用于数据数组,则可以选择只选取符合条件的数据。此函数用于在多维数组中获得具有特定条件的元素的索引。

函数定义
numpy.mask_indices(condition, shape)
参数说明

condition: 筛选条件,输入一个bool数组,一般使用布尔表达式来实现。

shape: 数组的形式,一个表示输入条件数组的形状。

返回值

该函数返回一个元组类型(x,y),其中x和y都是整数数组。X和Y分别是条件数组的元素为true的行和列的坐标索引。

示例
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

x, y = np.mask_indices(a>3, a.shape)

print(x)  # 输出: [1 1 2 2 2]
print(y)  # 输出: [0 1 0 1 2]

在以上示例中,我们从数组a中选择了对应元素大于3的所有坐标索引。返回的是行索引和列索引两个数组。

注意事项

此函数由于返回的数组维度是基于输入数组的形状而来,因此最好使用np.transpose()函数调整其大小和方向。此外,需要注意的是,当输入参数中有一个非数组类型时,它们不能被广播(broadcasting)。如果其中一个输入参数是标量,则需要使用np.array()函数将其转化为相似的形状。