首页 > 解决方案 > 在一个主列和另一个可选列之间选择 Pandas 中的布尔值

问题描述

抱歉,我找不到这个问题的好标题。如果您找到合适的标题,请随时编辑标题。

我有一个数据框,它有两列Val1ExtraVal;两者都Val1包含ExtraVal布尔值。我的主要列是Val1,但同时我ExtraVal也应该从中获取值,如果它只是 True 并且 True 也与Val1 column.

我不能使用df[val1] & df[ExtraVal],因为当 ExtraVal 变为 False 时,该语句将从 Val1 列中删除 True。

并且我不能在这两者之间使用 or 声明,因为ExtraColumn即使列为val1假,如果为真,它也会变为真。

希望这个样本数据能更清楚地解释我的意思。

示例数据框看起来像这样

Val1 ExtraVal
True,False
False,False
False,False
True,True
False,True
False,True
True,True

我想要的输出是

Val1,ExtraVal
True,False
True,True
True,True

有什么建议么 ?

标签: pythonpandasdataframe

解决方案


我认为需要:

df1 = df[df['Val1']]
print (df1)
   Val1  ExtraVal
0  True     False
3  True      True
6  True      True

推荐阅读