python - 根据 bool 列过滤 pandas 数据框行

标签 python pandas dataframe

我的 pandas 数据框如下所示:

             col_1  | col_2  | col_3 .... col_100
date
01-01-2001   True    False  False   ...   True
02-01-2001   False   True   False   ...   True
03-01-2001   True    False  True    ...   True
04-01-2001   False   False  False   ...   False

因此,我想得到一个 df,其中包含行中至少有一个 True 的所有行。在这种情况下,结果将是

             col_1  | col_2  | col_3 ... col_100
date
01-01-2001   True    False  False   ...  True
02-01-2001   False   True   False   ...  True
03-01-2001   True    False  True    ...  False

有什么聪明的方法可以做到这一点吗?

最佳答案

使用DataFrame.any :

df1 = df[df.any(axis=1)]

开箱即用:

df1 = df[df.sum(axis=1).gt(0)]

关于python - 根据 bool 列过滤 pandas 数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69434981/

相关文章:

Python 正在向后打印一个列表,但不打印其他列表

python - Pandas DataFrame.groupby() 到具有多列值的字典

python - 过滤 Pandas Dataframe 中不同的列

python - 如何过滤数据框中的行?

python - 如何从二进制文件中获取整数值

python - 无法使用pip安装pyaudio

python - Pandas:如果列中的值是字典,则使用 groupby

python - 使用多列条件过滤,Python 3.6

python - 如何根据上一行的值添加新列

python - 如何声明 IPython 提供的附加更丰富的对象表示?