Python 在一个主列和另一个可选列之间选择布尔值

Python 在一个主列和另一个可选列之间选择布尔值,python,pandas,dataframe,Python,Pandas,Dataframe,对不起,我找不到这个问题的好标题。如果您找到合适的标题,请随意编辑标题 我有一个数据帧,它有两列Val1和ExtraVal;Val1和ExtraVal都包含布尔值。我的主列是Val1,但同时我也应该从extral中获取值,如果它仅为True,并且该True也与Val1列中的True值匹配 我不能使用df[val1]&df[ExtraVal],因为当ExtraVal变为False时,该语句将从val1列中删除True 我不能在这两者之间使用or语句,因为如果ExtraColumn为True,即使v

对不起,我找不到这个问题的好标题。如果您找到合适的标题,请随意编辑标题

我有一个数据帧,它有两列
Val1
ExtraVal
Val1
ExtraVal
都包含布尔值。我的主列是
Val1
,但同时我也应该从
extral
中获取值,如果它仅为True,并且该True也与
Val1列中的True值匹配

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

我不能在这两者之间使用or语句,因为如果
ExtraColumn
为True,即使
val1
列为false,它也会变为True

希望这个示例数据能更清楚地解释我的意思

示例数据帧如下所示

Val1 ExtraVal
True,False
False,False
False,False
True,True
False,True
False,True
True,True
我想要的输出是

Val1,ExtraVal
True,False
True,True
True,True
有什么建议吗

我认为需要:

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

谢谢所以我根本不需要检查ExtraVal列?我的想法更像是一个解决方案,其中使用ExtraVal进行检查也包括在内。由于这只是一个示例数据帧,在我的实际代码中,我还应该检查ExtraVal之类的列,因为这样的列还会更多。@fireandwind-如果需要在
Val1
列中选择
True
所有行,最好使用
df[df['Val1']
@fireandwind-如果需要更复杂的内容,你能解释更多吗?我不知道我该怎么解释,但简单来说,我想要的和你回答的完全一样,但我想在做布尔选择的时候,在这个问题上加入额外的列。对不起,我不能再解释了。我之所以想这样做,是因为有很多列,比如Val1和ExtraVal,我需要单独检查相关的Val列和它们的ExtraVal列