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列