我想创建一个布尔向量,它是通过比较两个输入布尔向量创建的。我可以使用for循环,但是有更好的方法吗?
我理想的解决方案如下:
df['A'] = [True, False, False, True]
df['B'] = [True, False, False, False]
C = ((df['A']==True) or (df['B']==True)).as_matrix()
print C
>>> True, False, False, True
答案 0 :(得分:2)
我认为这就是你要找的东西:
C = (df['A']) | (df['B'])
C
0 True
1 False
2 False
3 True
dtype: bool
然后您可以将其保留为系列或将其转换为列表或数组
答案 1 :(得分:2)
或者,您可以使用any
方法和axis=1
搜索索引。它也适用于您具有True
值的任意数量的列:
In [1105]: df
Out[1105]:
B A
0 True True
1 False False
2 False False
3 False True
In [1106]: df.any(axis=1)
Out[1106]:
0 True
1 False
2 False
3 True
dtype: bool