如何用Pandas保留空白单元格并删除有值单元格?是否有反向dropna函数?
实现仅保留空白单元格所在行的方法
Pandas里没有专门的反向dropna()函数,但可以通过以下几种方式快速实现你要的需求:
先明确数据情况
你的初始表格里的空白是空字符串(不是NaN),所以对应处理方式如下:
1. 构建初始DataFrame示例
import pandas as pd # 对应你的初始表格 df = pd.DataFrame({ 'A1': [1, "", -8, "Hello", ""] })
2. 保留空字符串所在行的方法
方法一:直接判断空字符串
用布尔索引筛选出A1列为空字符串的行:result = df[df['A1'] == ""]方法二:转换为NaN后筛选
先把空字符串转成Pandas的缺失值(pd.NA),再用isna()判断筛选:# 替换空字符串为缺失值 df['A1'] = df['A1'].replace("", pd.NA) # 筛选有缺失值的行 result = df[df.isna().any(axis=1)]
如果你的空白原本就是NaN(不是空字符串),直接用下面的代码即可:
result = df[df.isna().any(axis=1)]
最终结果
运行后得到的result就是你要的目标表格:
| index | A1 |
|---|---|
| 1 | |
| 4 |
内容的提问来源于stack exchange,提问作者Petra Enis
相关产品推荐
相关产品推荐

