例如
a = np.array(([0, 0], [0, 1], [1, 0], [1, 1]))
c = np.array(a == [0, 1])
通过这种方式我得到了
`array([[ True, False],
[ True, True],
[False, False],
[False, True]])`
但我想得到
array([False, True, False, False])
当然我可以拉扯c并使用if(c[i]==1)&(c[i+1]==1)
给出“真实”,
c = c.ravel()
cshape = list(c.shape)
del cshape[-1]
d = []
for i in range(0, len(c), 2):
if (c[i]==1)&(c[i + 1]==1):
d.append(True)
else:
d.append(False)
d = np.array(d).reshape(cshape)
但是对于大型系统来说,这可能是资源成本。 有什么简单的方法吗?
答案 0 :(得分:0)
In [1]: a = np.array(([0, 0], [0, 1], [1, 0], [1, 1]))
In [2]: a==np.array([0,1])
Out[2]:
array([[ True, False],
[ True, True],
[False, False],
[False, True]])
只需检查一行中的所有元素是否为True
:
In [3]: _.all(axis=1)
Out[3]: array([False, True, False, False])