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

如何便捷标准化Pandas DataFrame?对标SAS PROC STDIZE方法

Pandas中实现类似SAS PROC STDIZE的列标准化方法

Pandas本身没有和SAS PROC STDIZE完全一一对应的内置函数,但可以通过几种简洁的方式实现相同的标准化效果,最常用的是Z-score标准化(均值为0、标准差为1),这也是PROC STDIZE的默认行为。

方法一:用scikit-learn的StandardScaler(最贴近PROC STDIZE默认逻辑)

这是最直接的实现方式,和SAS的标准化逻辑完全匹配:

import pandas as pd
from sklearn.preprocessing import StandardScaler

dat = pd.DataFrame({'AA': [1, 2], 'BB': [3,4]})
scaler = StandardScaler()
# 拟合转换后转回DataFrame保留原列名
dat_std = pd.DataFrame(scaler.fit_transform(dat), columns=dat.columns)

输出结果:

AABB
-1.0-1.0
1.01.0

方法二:纯Pandas实现(无需额外库)

如果不想引入第三方库,直接用Pandas内置计算也能快速实现Z-score标准化:

import pandas as pd

dat = pd.DataFrame({'AA': [1, 2], 'BB': [3,4]})
dat_std = (dat - dat.mean()) / dat.std()

该方法输出结果和上述StandardScaler完全一致。

其他标准化类型(对应PROC STDIZE的扩展选项)

如果需要PROC STDIZE支持的其他标准化方式,也可以用Pandas快速实现:

  • 极差标准化(缩至[0,1]区间):
    dat_range = (dat - dat.min()) / (dat.max() - dat.min())
    
  • 中位数标准化(减中位数、除以四分位距):
    dat_median = (dat - dat.median()) / (dat.quantile(0.75) - dat.quantile(0.25))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 20:32:02