python - 获取与numpy中的条件匹配的行的行号

标签 python arrays numpy

假设我有一个像这样的 numpy 数组:

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

我想检查第二个元素是否 == 2。

我知道我可以做到:

>>> a[:,1]==2
array([ True, False, False,  True], dtype=bool)

返回 bool 值。我的问题是,如何获取条件为真的行的行号?在这个例子中,我想返回 array([0, 3]) 因为第 0 行和第 3 行匹配条件第二个元素 == 2。

最佳答案

使用np.where返回索引:

In [79]:

np.where(a[:,1]==2)
Out[79]:
(array([0, 3], dtype=int64),)

关于python - 获取与numpy中的条件匹配的行的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145996/

相关文章:

python - Flask、蓝图、current_app

python - 如何更改seaborn FacetGrid对象中的箱线图大小

sql - 加快嵌套在 jsonb 对象数组中的键值的范围测试

c - 将2D数组行传递到1D数组

python - 如何从系数列表构建多项式 lambda 函数?

python - 如何从 numpy 矩阵中删除 nan 和 inf 值?

python - 有没有办法设置可选参数来绕过输入参数?

Python队列突然空了

c++ - 我可以将 QObject 数组的单个元素移动到另一个 QThread

python - 如何向量化这个二维矩阵运算?