Python Pandas-如何通过一个值过滤多列

Bai*_*iii 4 python data-analysis pandas

我正在做熊猫分析。
我的表有700万行* 30列。单元格值的范围从-1到3随机。现在,我想根据列的值过滤掉行。

我了解如何根据多个条件进行选择,写下条件并通过“&”“ |”组合。
但是我有30列要过滤,并按相同的值过滤。例如,需要选择最后12列的值等于-1

df.iloc[:,-12:]==-1
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我一个布尔值。我需要实际的数据框。
这里的逻辑是“或”,表示如果任何列的值为-1,则需要选择该行。另外,很高兴知道我是否需要“和”,所有列的值都为-1?
非常感谢

Nic*_*eli 6

在这种OR情况下,请使用DF.anyTrue如果有任何元素True沿特定轴返回,则返回):

df[(df.iloc[:,-12:] == -1).any(axis=1)]
Run Code Online (Sandbox Code Playgroud)

在这种AND情况下,请使用DF.allTrue如果所有元素都True沿特定轴返回,则返回):

df[(df.iloc[:,-12:] == -1).all(axis=1)]
Run Code Online (Sandbox Code Playgroud)