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

Python Pandas 删除含NA行时保留符合特定条件的NA行实现方法

带豁免规则的Pandas空值行删除实现

实现逻辑

可保留的行需要满足以下两个条件的任意一个:

  • 整行无任何NA值,符合通用的空值删除要求
  • 同时满足全部四个豁免规则:Col1 == 3、Col2 == "A"、Col3为NA、Col4不为NA

核心代码

import pandas as pd

# 豁免条件判断
exempt = (
    (df['Col 1'] == 3) & 
    (df['Col 2'] == 'A') & 
    (df['Col 3'].isna()) & 
    (df['Col 4'].notna())
)
# 无空值行判断
no_na = ~df.isna().any(axis=1)
# 过滤出符合要求的行
result_df = df[exempt | no_na]

注意事项

  • 代码中的列名需要和你实际DataFrame的列名保持一致,如果你的列名是无空格的Col1/Col2,修改对应引号内的字段即可
  • 该逻辑会自动排除特殊边界情况:哪怕Col1==3且Col2==A,只要Col4为NA也不会被纳入豁免范围,会直接被过滤

内容的提问来源于stack exchange,提问作者Oludhe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:00