You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一次性定位Pandas DataFrame中多列特定值(False)的出现位置

定位DataFrame多列中所有False的位置

以下是几种高效的一次性查找方法,覆盖不同需求场景:


1. 获取所有False的精确行列坐标

适合需要明确知道每个False所在行索引和列名的场景:

# 生成全量布尔掩码:单元格为True表示原数据是False
mask = df == False
# 筛选掩码中为True的位置,整理成坐标表格
false_locations = mask.stack()[mask.stack()].reset_index()
# 重命名列名方便阅读
false_locations.columns = ["行索引", "列名", "是否为False"]
print(false_locations)

示例输出(对应你提供的DataFrame):

行索引列名是否为False
0Unnamed: 0True
0Incident IDTrue
1Unnamed: 0True
1CR NumberTrue
1VictimsTrue
2LatitudeTrue
3CR NumberTrue
4YearTrue

2. 提取所有包含至少一个False的行数据

如果需要直接查看包含False的整行记录:

# 筛选任意一列存在False的行
rows_with_false = df[df.isin([False]).any(axis=1)]
print(rows_with_false)

3. 生成全量False标记矩阵(类似你想要的applymap形式)

如果需要和原DataFrame结构一致的矩阵,标记每个单元格是否为False:

# 高效向量化操作(推荐,大数据量下性能远优于applymap)
false_mask = df == False
# 或用applymap实现(适合自定义判断逻辑时)
false_mask = df.applymap(lambda x: x is False)
print(false_mask)

内容的提问来源于stack exchange,提问作者Bhawani Rabisankar Sahoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:45:37