Python数学建模之数据无量纲化处理

1.正向化处理

        让正向指标数据(自变量与因变量正相关)压缩在[0,1]范围内。

x{}'=\frac{x-min(x)}{max(x)-min(x)}

2.负向化处理

         让负向指标数据压缩在[0,1]范围内。

x{}'=\frac{max(x)-x}{max(x)-min(x)}

3.归一化处理

        让数据压缩在[0,1]范围内,适用于进行多指标综合评价的时候,不涉及距离度量、协方差计算、数据不符合正态分布的时候。

x{}'=\frac{x-min(x)}{max(x)-min(x)}

Python代码:

import pandas as pd

# 读取Excel文件
input_file = 'data.xlsx'
data = pd.read_excel(input_file)

# 定义函数进行归一化处理
def normalize_column(column):
    min_value = data[column].min()  # 最小值
    max_value = data[column].max()  # 最大值
    data[column] = (data[column] - min_value) / (max_value - min_value)
    print(f"已对列 {column} 进行归一化处理")

# 指定需要进行归一化处理的列
columns_to_normalize = ['Column1', 'Column2', 'Column3']

# 遍历指定的列进行归一化处理
for column in columns_to_normalize:
    if column in data.columns:
        normalize_column(column)

# 将处理后的数据输出到新的Excel文件
output_file = 'processed_data.xlsx'
data.to_excel(output_file, index=False)
print(f"处理后的数据已保存到 {output_file} 文件中。")

4.标准化处理

        让数据的平均值为0,标准差为1,适用于聚类、因子分析时。

x{}'=\frac{x-\mu }{\sigma }

5.求和归一化处理

        所有的数据均应该大于0,TOPSIS法常用该处理方式。

x{}'=\frac{x_{i}}{\sum (x_{i})}

6.中心化处理

        让数据平均值变为0,社会科学类研究使用较多,比如进行中介作用,或调节作用研究。

x{}'=x-\mu 

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值