2024-05-29 03:35:15 发布
网友
我有两个numpy数组:a和b。我想选择a == 1和b == 0的所有索引。
a
b
a == 1
b == 0
也就是说,如果我有以下数组:
a = [0, 1, 3, 5, 1, 1, 2] b = [1, 0, 2, 5, 3, 0, 6]
我想找回以下指数:
[1, 5]
在纽比我该怎么做?我尝试使用了以下方法(由一个快速参考指南建议,该指南显示了numpy、matlab和IDL之间的差异):
(a == 1 and b == 0).nonzero()
但这就给了真理价值观模棱两可的错误。
有什么想法吗?
有一种方法:
In [75]: import numpy as np In [76]: a = np.array([0, 1, 3, 5, 1, 1, 2]) In [77]: b = np.array([1, 0, 2, 5, 3, 0, 6]) In [78]: np.argwhere((a==1) & (b==0)).flatten() Out[78]: array([1, 5])
尝试使用以下代码:
import numpy a = numpy.array([0, 1, 3, 5, 1, 1, 2]) b = numpy.array([1, 0, 2, 5, 3, 0, 6]) res = [i for i,v in enumerate(zip(a,b)) if v == (1,0)] print res
In []: a= array([0, 1, 3, 5, 1, 1, 2]) In []: b= array([1, 0, 2, 5, 3, 0, 6]) In []: logical_and(a== 1, b== 0).nonzero()[0] Out[]: array([1, 5])
显然这也会起作用:
In []: ((a== 1)& (b== 0)).nonzero()[0] Out[]: array([1, 5])
有一种方法:
尝试使用以下代码:
显然这也会起作用:
相关问题 更多 >
编程相关推荐