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

如何在Python中整合不同缺失值填充方法?代码优化咨询

优化缺失值填充代码的简洁实现方式

你当前的缺失值填充代码如下:

mean_impute = df['column'].fillna(value=df['column'].mean())
median_impute = df['column'].fillna(value=df['column'].median())
mode_impute = df['column'].fillna(value=df['column'].mode())

当然可以通过循环或函数简化这段重复代码,以下是两种实用的优化方案:

方案一:用循环批量处理

把填充方法和对应规则存入字典,通过循环完成所有填充操作,还能方便后续扩展更多填充方式:

# 定义填充规则映射,注意mode返回Series,取第一个值避免维度问题
impute_rules = {
    'mean': df['column'].mean(),
    'median': df['column'].median(),
    'mode': df['column'].mode()[0]
}

# 循环执行填充并存储结果
impute_results = {}
for method_name, fill_value in impute_rules.items():
    impute_results[f'{method_name}_impute'] = df['column'].fillna(value=fill_value)

# 按需调用结果,比如 mean_impute = impute_results['mean_impute']

方案二:封装成可复用函数

如果需要对不同列执行这类填充,封装成函数能大幅提升复用性:

def impute_missing(df_column):
    """对指定DataFrame列执行多种缺失值填充,返回结果字典"""
    return {
        'mean_impute': df_column.fillna(df_column.mean()),
        'median_impute': df_column.fillna(df_column.median()),
        'mode_impute': df_column.fillna(df_column.mode()[0])
    }

# 调用函数
results = impute_missing(df['column'])
# 提取结果:median_impute = results['median_impute']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:20:51