如何删除DataFrame中特定null/NaN空值单元格而非整行或整列
解决Pandas DataFrame仅清除空值单元格不删除行列的方案
Pandas DataFrame是二维规整表格结构,不支持单独删除单个单元格(会破坏行列对齐规则),你需求里的「仅清除无有效信息的空值单元格、保留行和列」实际是指将null值替换为空白/自定义占位值,保留原表结构。
方法1:全局替换所有空值为空字符串
如果要把整个表里所有的NaN、pd.NA都替换成空字符串,直接用:
import pandas as pd import numpy as np # 替换所有空值为空白 df = df.replace({pd.NA: '', np.nan: ''}) # 如果还要清除仅含空格的空白单元格,再加一行 df = df.replace(r'^\s*$', '', regex=True)
方法2:仅替换指定列的空值
比如你示例数据里只有floor列存在空值需要处理,其他列空值保留,可以单独对目标列操作:
# 仅把floor列的空值替换为空字符串 df['floor'] = df['floor'].fillna('')
拓展:替换为其他自定义值
如果不想留空白,也可以替换成你需要的提示文本,比如替换为未知:
# 全局替换 df = df.fillna('未知') # 单列替换 df['floor'] = df['floor'].fillna('未知')
内容的提问来源于stack exchange,提问作者izzypt
相关产品推荐
相关产品推荐

