在 Sublime Text 中用 Python 做数据清洗的核心是编写 Pandas 脚本,关键在于规范处理缺失值(统一转 NaN、按业务填充或删除)和异常值(IQR 法检测、越界值修正),并借助 Sublime 插件与代码组织提升效率。

在 Sublime Text 中用 Python 做数据清洗,核心不是靠编辑器功能,而是写好 Pandas 脚本——Sublime 只是高效写代码的工具。关键在于掌握 Pandas 处理缺失值和异常值的常用方法,并在 Sublime 里快速、清晰地组织逻辑。
用 Pandas 识别缺失值(NaN / None / 空字符串)
缺失值不只有 NaN,还可能藏在空字符串、全空格或占位符(如 "N/A"、"NULL")里。建议先统一检查:
- 用
df.isnull().sum()快速看每列缺失数量 - 用
df.replace({"": np.nan, "N/A": np.nan, "NULL": np.nan})把非标准缺失转为NaN - 对字符串列,加一步
df[col] = df[col].str.strip()再判空,避免空格干扰
合理填充或删除缺失值
别一上来就 dropna() 或 fillna(0)——要结合业务。比如销售数据中“销售额为空”可能是未发生,填 0 合理;但“客户年龄为空”填均值就需谨慎。
- 数值型:用中位数(抗异常值)比均值更稳,
df[col].fillna(df[col].median(), inplace=True) - 分类型:用众数(mode),
df[col].fillna(df[col].mode()[0], inplace=True) - 时间序列或有序数据:考虑前向填充
ffill或插值interpolate() - 缺失过多(如 >70%)的列,直接
df.drop(columns=[col], inplace=True)更干脆
检测和处理异常值(非缺失但不合理)
异常值不等于错误,但会影响统计结果。Pandas 本身不带高级离群检测,但可快速做基础判断:
立即学习“Python免费学习笔记(深入)”;
- 用箱线图四分位距法:
Q1 = df[col].quantile(0.25); Q3 = df[col].quantile(0.75); IQR = Q3 - Q1; lower = Q1 - 1.5*IQR; upper = Q3 + 1.5*IQR,再用布尔索引筛选df[(df[col] upper)] - 对明显越界值(如年龄=300、价格=-1),直接布尔替换:
df.loc[df["age"] > 120, "age"] = np.nan,再走缺失值流程 - 分类字段异常?用
df[col].value_counts(dropna=False)查看所有取值,人工确认哪些是录入错误
在 Sublime 中提升清洗效率的小技巧
Sublime 没有 Jupyter 的交互性,但胜在轻快+插件支持。写清洗脚本时可以:
- 装 SideBarEnhancements 插件,右键一键运行 Python 脚本(配合
subl --command "exec {'cmd': ['python', '-u', '$file']}"配置) - 用 Emmet 或自定义 snippet 快速输入常用清洗语句,比如输入
dfna→ 展开为df.isnull().sum() - 把清洗步骤拆成函数(如
clean_numeric(col),flag_outliers(df, col)),方便复用和调试 - 每次修改后加一句
print(f"{col} cleaned, nulls left: {df[col].isnull().sum()}"),实时反馈效果
基本上就这些。Sublime 不帮你思考怎么清洗,但它让你写得清楚、改得利落、跑得顺手——真正的数据清洗功夫,还在 Pandas 的逻辑里。










