题目
如何将df中的所有缺失值替换为0A. df. fill(0)B. df. replace ____ na(0)C. df. fillna(0)D. df. replace(0, na=True)
如何将df中的所有缺失值替换为0
A. df. fill(0)
B. df. replace ____ na(0)
C. df. fillna(0)
D. df. replace(0, na=True)
题目解答
答案
C. df. fillna(0)
解析
本题考查pandas库中处理缺失值的方法,核心在于区分fillna()和replace()函数的使用场景及参数设置。
- 关键知识点:
fillna():专门用于填充缺失值(NaN),直接指定填充值即可。replace():替换指定值,需明确传入原值和新值,处理缺失值时需配合na=True参数。
- 破题关键:
- 选项需正确调用函数名(如
fillna而非fill)。 - 替换缺失值时,
replace()需显式处理NaN,而fillna()默认针对缺失值。
- 选项需正确调用函数名(如
选项分析
A. df.fill(0)
- 错误原因:
fill()并非pandas中处理缺失值的正确函数,正确函数为fillna()。 - 知识点:函数名拼写错误。
B. df.replace(na(0))
- 错误原因:
replace()函数需传入原值和新值,正确形式应为replace({np.nan: 0})或replace(np.nan, 0, na=True)。na(0)的写法不符合语法,NaN应表示为np.nan。
C. df.fillna(0)
- 正确性:
fillna(0)直接用0填充所有缺失值,符合题意。 - 知识点:
fillna()默认对所有NaN生效,无需额外参数。
D. df.replace(0, na=True)
- 错误原因:
replace(0, na=True)会尝试将0替换为NaN(因na=True允许替换缺失值),与题意相反。- 参数顺序错误,正确用法应为
replace(np.nan, 0, na=True)。