您的位置:

Excel归一化

一、概述

Excel归一化指的是将Excel中的数据进行处理,使其符合一定的数值范围,便于比较与分析。归一化在数据处理中起到了重要的作用。本文将介绍Excel归一化的方法以及其应用场景。

二、最大最小值归一化

最大最小值归一化是Excel归一化中一种最常见的方法,也是最简单的一种方法。其过程是将数据中最大值与最小值计算出来,并将数据进行缩放,使其在0到1之间。具体的归一化公式如下:


y = (x - min(x)) / (max(x) - min(x))

其中,y表示归一化后的值,x表示原始数据,min(x)表示数据中的最小值,max(x)表示数据中的最大值。

该方法适用于特征值相差较大的场景,如一个数据中,某个特征值为100,而其他特征值都在0-1之间,此时就需要使用最大最小值归一化将其缩放到0-1之间。

三、Z-score归一化

Z-score归一化又称为标准差标准化,其过程是将数据进行缩放,使其均值为0,标准差为1。具体的归一化公式如下:


y = (x - mean(x)) / std(x)

其中,y表示归一化后的值,x表示原始数据,mean(x)表示数据中的均值,std(x)表示数据中的标准差。

该方法适用于特征值分布较为集中的场景,如一组数据中,每个特征值都在0-1之间,但是它们的均值和标准差不同。

四、小数定标归一化

小数定标归一化是一种将数据移动到小数点后面的方法,使其最高位为1。具体的归一化公式如下:


x /= 10**j,其中j为满足:|x|<1时,|x × 10**j|≥1

该方法适用于特征值差距较大的场景,如一组数据中,某些特征值为很小的小数,而其他特征值则非常大。

五、代码示例

最大最小值归一化代码示例:


# 导入pandas库
import pandas as pd

# 读取Excel数据
df = pd.read_excel('data.xlsx')

# 最大最小值归一化
df_norm = (df - df.min()) / (df.max() - df.min())

# 输出归一化后的数据
print(df_norm)

Z-score归一化代码示例:


# 导入pandas库
import pandas as pd

# 读取Excel数据
df = pd.read_excel('data.xlsx')

# Z-score归一化
df_norm = (df - df.mean()) / df.std()

# 输出归一化后的数据
print(df_norm)

小数定标归一化代码示例:


# 导入pandas库
import pandas as pd
import math

# 读取Excel数据
df = pd.read_excel('data.xlsx')

# 小数定标归一化
j = int(math.ceil(math.log10(df.abs().max().max())))
df_norm = df / (10 ** j)

# 输出归一化后的数据
print(df_norm)