如何使用Pandas筛选含Null值的行及其余列全为Null的ID?
Pandas 处理含Null值数据的两种操作
1. 查找包含Null值的数据行(关联ID)
直接筛选数据中任意列存在Null值的行,结果会包含ID列及对应数据:
import pandas as pd # 假设数据存储在DataFrame df中 null_rows = df[df.isnull().any(axis=1)] print(null_rows)
- 说明:
df.isnull()生成与原数据同维度的布尔矩阵,标记每个位置是否为Null;any(axis=1)按行判断是否存在至少一个Null值,返回行级布尔索引;用该索引筛选原DataFrame即可得到所有含Null值的行。
2. 筛选除ID列外其余列全为Null的ID
先排除ID列,检查剩余列是否全部为Null,再提取对应ID:
# 提取符合条件的ID列表 all_null_ids = df.loc[df.drop('ID', axis=1).isnull().all(axis=1), 'ID'].tolist() print(all_null_ids)
- 说明:
df.drop('ID', axis=1)移除ID列,仅保留其他数据列;isnull().all(axis=1)按行判断所有剩余列是否均为Null;通过loc定位符合条件的行并提取ID列,最后转成列表方便使用。
内容的提问来源于stack exchange,提问作者Dipam Soni
相关产品推荐
相关产品推荐

