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

如何将DataFrame中的NaN值替换为指定文本

Pandas DataFrame指定列内容替换为固定文本的实现说明

原代码适配场景说明

你写的两段代码分别对应两种不同的替换场景,注意区分使用条件:

  • fillna方法只能识别pandas内置的原生缺失值(pd.NA/np.nan),无法匹配单元格内容为字符串"NaN"的情况,你写的fillna写法本身是正确的,适合批量给不同列指定不同的替换值,如果不需要修改原数据可以去掉inplace=True,直接赋值给新变量即可:
# 仅替换原生缺失值
dftotal = dftotal.fillna({"Computer_OS":"not registered", "Computer_OS_version":"not registered"})
  • 你写的loc写法仅能匹配Computer_OS列内容为字符串"NaN"的单元格,如果需要批量处理多列的字符串"NaN",可以简化为批量替换写法,避免重复写逻辑:
# 替换多列的字符串"NaN"
target_cols = ["Computer_OS", "Computer_OS_version"]
dftotal[target_cols] = dftotal[target_cols].replace("NaN", "not registered")

通用兼容写法

如果你不确定空值是原生缺失值还是字符串形式的"NaN",可以一次性覆盖两种场景:

import numpy as np
target_cols = ["Computer_OS", "Computer_OS_version"]
dftotal[target_cols] = dftotal[target_cols].replace([np.nan, "NaN"], "not registered")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:27:03