python - 熊猫数据框检查一行的多列中是否存在值
问题描述
我想为多列打印出值为“True”的行。
例如,如果数据框如下:
Remove Ignore Repair
0 True False False
1 False True True
2 False True False
我希望它打印:
1
有没有一种优雅的方法来代替一堆 if 语句?
解决方案
- 您可以使用 sum 并通过 axis=1 对列求和。
import pandas as pd
df = pd.DataFrame({'a':[False, True, False],'b':[False, True, False], 'c':[True, False, False,]})
print(df)
print("Ans: ",df[(df.sum(axis=1)>1)].index.tolist())
输出:
a b c
0 False False True
1 True True False
2 False False False
Ans: [1]
推荐阅读
- mysql - 跨行的 SQL 检查
- c# - Asp Net 核心控制器 URL 参数
- javascript - Algolia Places.js 抛出错误:“无法调用类型缺少调用签名的表达式。”
- python-3.x - 通过 Boto3 使用 S3 Bucket 中多个文件夹中的所有对象在 Athena 中创建表
- c++ - 如何重新绑定自定义分配器?
- qt - 使用 Qt 安装程序框架脚本记录控制台输出
- oracle - 索引 38 处的非法字符 <:>:\\install.domain.com\updates$\Oracle;C:\Oracle11g\product\11.2.0\client_1\network\admin\ojdbc.properties
- java - Java - 如何将 JSON 发送到存储过程 PostgreSQL 9.6
- python - 使用 Scrapy 从网页的子链接中收集诗歌并将其放入 .txt 文件中
- python-3.x - 尝试,异常,关于一行代码的问题