数据规范化

  • 发布日期:2019-11-27
  • 难度:简单
  • 类别:数据预处理、数据变换
  • 标签:Python、数据变换、数据规范化、最大最小标准化、Z-score标准化

1. 问题描述

使用Python第三方库sklearn.preprocessing包中的MinMaxScaler和StandardScaler函数分别完成数据的最大-最小标准化和z-score规范化。

2. 程序实现

In [2]:
import pandas as pd
import sklearn.preprocessing
#读入数据
df = pd.DataFrame([[1,2,6],[4,5,6],[1,3,6],[2,4,7],[1,3,6]],columns=['col1','col2','col3'], index=['a','b','c','d','e'])
print(df)
   col1  col2  col3
a     1     2     6
b     4     5     6
c     1     3     6
d     2     4     7
e     1     3     6
In [3]:
#最大最小标准化
df_transform=sklearn.preprocessing.MinMaxScaler().fit_transform(df)
print(df_transform)
[[0.         0.         0.        ]
 [1.         1.         0.        ]
 [0.         0.33333333 0.        ]
 [0.33333333 0.66666667 1.        ]
 [0.         0.33333333 0.        ]]
In [4]:
#Z-score标准化
df_transform2=sklearn.preprocessing.StandardScaler().fit_transform(df)
print(df_transform2)
[[-0.68599434 -1.37281295 -0.5       ]
 [ 1.88648444  1.56892908 -0.5       ]
 [-0.68599434 -0.39223227 -0.5       ]
 [ 0.17149859  0.58834841  2.        ]
 [-0.68599434 -0.39223227 -0.5       ]]
In [ ]: