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

如何在Python中对DataFrame数据按列执行标准化处理?

DataFrame逐列标准化(减列均值/除列标准差)实现方法

根本不需要手动写for循环,pandas的广播机制原生支持按列对齐运算,一行代码就能完成:

# 假设你存储数值的DataFrame变量名为df
standardized_df = (df - df.mean()) / df.std()

相关逻辑说明:

  • df.mean() 默认沿0轴(逐列)计算每列的算术均值,返回索引和原DataFrame列名一致的Series
  • df.std() 默认沿0轴计算每列的样本标准差(自由度为1),返回同结构的Series
  • DataFrame和Series做算术运算时,pandas会自动按列名匹配对齐,逐列完成减法、除法运算,效率比手写for循环高很多。

如果你确实需要用for循环实现(比如需要在逐列处理时加其他自定义逻辑),可以参考下面的写法:

# 先拷贝原数据避免修改原始DataFrame
standardized_df = df.copy()
for col_name in df.columns:
    col_mean = df[col_name].mean()
    col_std = df[col_name].std()
    standardized_df[col_name] = (df[col_name] - col_mean) / col_std

注意:如果你的场景需要计算总体标准差(除以样本量n而非n-1),给std()方法传入参数ddof=0即可,即写为df.std(ddof=0)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:30:43