我试图在Pandas中包含2个包含布尔值的列,并创建第三列,这些列是这些布尔值的OR。
例如,我的数据框当前包含A和B,我想创建C。
A B C
True True True
False False False
True False True
False True True
我的代码:
df['C']=df['A'] or df['B']
我试图以多种方式更改语句的结构,但最终会出现相同的错误消息:
ValueError:系列的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
答案 0 :(得分:1)
In [436]:
df['C'] = np.logical_or(df['A'], df['B'])
df
Out[436]:
A B C
0 True True True
1 False False False
2 True False True
3 False True True
你不能在这里使用or
运算符,因为比较数组会变得模棱两可。
或使用按位|
运算符进行数组比较:
In [445]:
df['C'] = df['A'] | df['B']
df
Out[445]:
A B C
0 True True True
1 False False False
2 True False True
3 False True True