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

如何使用循环批量对数据集变量做标准化并保留原有变量名

标准化实现方案

你可以根据你使用的分析工具选择对应实现逻辑,以下给出R和Python两个主流工具的实现代码:

R 语言实现

基础循环版本

# 假设你的数据集存储为数据框df
# 提取所有符合SCORE.数字命名规则的变量名
score_vars <- grep("^SCORE\\.\\d+$", names(df), value = TRUE)

# 循环执行z-score标准化,直接覆盖原变量
for (var_name in score_vars) {
  df[[var_name]] <- as.numeric(scale(df[[var_name]]))
}

tidyverse 简洁版本

library(dplyr)

df <- df %>%
  # 对所有SCORE.开头的变量执行标准化
  mutate(across(starts_with("SCORE."), ~ as.numeric(scale(.x))))

Python 实现(基于Pandas)

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 假设你的数据集存储为DataFrame df
# 提取所有符合命名规则的变量列名
score_cols = [col for col in df.columns if col.startswith("SCORE.")]

# 初始化标准化工具,批量处理后直接覆盖原列
scaler = StandardScaler()
df[score_cols] = scaler.fit_transform(df[score_cols])

注:上述代码默认使用z-score标准化逻辑,处理后每个变量的均值为0、标准差为1。如果需要使用其他标准化规则,替换对应转换逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:24:05