Python 如何仅在pandas中的任何行为真时获取行?

Python 如何仅在pandas中的任何行为真时获取行?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框 df1=pd.DataFrame({"col1":[True,False,False,True,False], "col2":[False,True,False,True,False], "col3":[Null,True,True,True,False], "Cnt" :[1,2,3,4,5]}) 我只想在co

我有一个数据框

df1=pd.DataFrame({"col1":[True,False,False,True,False],
              "col2":[False,True,False,True,False],
               "col3":[Null,True,True,True,False],
               "Cnt" :[1,2,3,4,5]})
我只想在col1或col2为真时获取行,即,如果col1和col2中的列仅为布尔值,则第2行和第4行将被删除

,按位和将两列链接(&F):

或按子集[col1,col2]进行测试的过滤列,以及按以下方式进行测试的过滤列:

如果可能,混合值-布尔值和其他一些值测试真值:

如果可能,布尔值是字符串表示:

df[df["col1"].eq('True') & df["col2"].eq('True')]
如果在col1和col2中为布尔值,则仅按&对两列进行按位和链接:

或按子集[col1,col2]进行测试的过滤列,以及按以下方式进行测试的过滤列:

如果可能,混合值-布尔值和其他一些值测试真值:

如果可能,布尔值是字符串表示:

df[df["col1"].eq('True') & df["col2"].eq('True')]

试试这样的

df1[df1[["col1","col2"]].all(axis=1)]
否则,您也可以基于单个列运行它

if all(df1['col1']):
   print("All True")
else:
   print("Not All True")

试试这样的

df1[df1[["col1","col2"]].all(axis=1)]
否则,您也可以基于单个列运行它

if all(df1['col1']):
   print("All True")
else:
   print("Not All True")