Python 从数据框中删除布尔行

Python 从数据框中删除布尔行,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,如何快速删除A、B和C都为false的行? 我试过: 删除A、B和C都为false的行 如果这些列的行中的sum不等于0,则使用 沿轴1使用all的备选方案。第二个~操作符直接-直接在df之前,将所有False反转为Trueall返回True如果所有列值都是True,则再次使用~将其反转,以索引实际上都是False的行: df3 = df[~(~df[['A', 'B', 'C']]).all(1)] 等待一分钟any df[df[['A','B','C']].any(1)] 谢谢你能解释一

如何快速删除A、B和C都为false的行? 我试过:

删除A、B和C都为false的行

如果这些列的行中的
sum
不等于0,则使用


沿轴1使用
all
的备选方案。第二个
~
操作符直接-直接在
df
之前,将所有
False
反转为
True
all
返回
True
如果所有列值都是
True
,则再次使用
~
将其反转,以索引实际上都是
False
的行:

df3 = df[~(~df[['A', 'B', 'C']]).all(1)]

等待一分钟
any

df[df[['A','B','C']].any(1)]

谢谢你能解释一下吗?我没有完全理解。@asd当您为列
A、B、C
取每行的总和时,如果有任何
True
值,它将返回1或更多,因此我检查总和是否不等于零(这意味着一行的所有列都是
False
),谢谢。出于好奇,我写的代码怎么了?我误解了一些语法还是?@asd您所做的是
False&False&False
(即
False
)(假设行中的所有列都是False),然后将其反转(
~
)它将始终返回
True
,因此对于具有所有
False
值的行,它仍然返回
True
,因此不会删除它。这是最简单的内置方式。。!!100%同意,我对这件事想得太多了
df3 = df[~(~df[['A', 'B', 'C']]).all(1)]
df[df[['A','B','C']].any(1)]