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

Python Pandas设置keep_default_na=False后fillna失效,如何填充空字段?

Pandas读取Excel保留"NA"字符串同时正常填充空值的解决方案

两种实现路径可选:

方案1(推荐):调整读取参数,从根源区分「NA产品名」和真·空值

无需修改后续填充逻辑,仅自定义缺省值识别规则,跳过对字符串NA的NaN转换,其余空单元格仍会被识别为NaN:

import pandas as pd
# 自定义缺省值列表,移除默认的'NA',其余常规缺省标识保留
custom_na_values = [
    '', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan',
    '1.#IND', '1.#QNAN', '<NA>', 'N/A', 'NULL', 'NaN', 'n/a', 'nan', 'null'
]
df = pd.read_excel('Import_orders.xlsx', na_values=custom_na_values, keep_default_na=False)

# 原有fillna逻辑可直接正常运行
df['Action for Contact'] = df['Action for Contact'].fillna('Update')

方案2:不修改读取逻辑,直接替换现有空值

keep_default_na=False会将Excel内的空单元格识别为空字符串'',直接对目标列的空字符串做替换即可:

# 方法一:直接替换空字符串
df['Action for Contact'] = df['Action for Contact'].replace('', 'Update')

# 方法二:先转NaN再填充,兼容原有fillna逻辑
import numpy as np
df['Action for Contact'] = df['Action for Contact'].replace('', np.nan).fillna('Update')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:24:03