In [1]:
import numpy as np

In [2]:
np.random.seed(10)
x = [np.random.randint(10,25) for i in range(10)]
print x


[19, 23, 14, 10, 11, 21, 22, 19, 23, 10]

In [3]:
def min_max(x):
    return [round((xx-min(x))/(1.0*(max(x)-min(x))),2) for xx in x]

In [4]:
print x
print min_max(x)


[19, 23, 14, 10, 11, 21, 22, 19, 23, 10]
[0.69, 1.0, 0.31, 0.0, 0.08, 0.85, 0.92, 0.69, 1.0, 0.0]

In [ ]:


In [5]:
from sklearn.preprocessing import MinMaxScaler
import numpy as np

np.random.seed(10)
x = np.matrix([np.random.randint(10,25)*1.0 for i in range(10)])
print x


[[ 19.  23.  14.  10.  11.  21.  22.  19.  23.  10.]]

In [9]:
minmax = MinMaxScaler(feature_range=(0.0,1.0))
x = x.T
x_t = minmax.fit_transform(x)
print x_t


[[ 0.69230769]
 [ 1.        ]
 [ 0.30769231]
 [ 0.        ]
 [ 0.07692308]
 [ 0.84615385]
 [ 0.92307692]
 [ 0.69230769]
 [ 1.        ]
 [ 0.        ]]

数据标准化


In [10]:
# 加载库
import numpy as np
from sklearn.preprocessing import scale

In [11]:
np.random.seed(10)
x = [np.random.randint(10,25)*1.0 for i in range(10)]

In [12]:
x_centered = scale(x,with_mean=True,with_std=False)
x_standard = scale(x,with_mean=True,with_std=True)

print x
print x_centered
print x_standard
print 'Origin x mean = %0.2f,Centered mean = %0.2f,Std dev of standard x = %0.2f' %(np.mean(x),np.mean(x_centered),np.mean(x_standard))


[19.0, 23.0, 14.0, 10.0, 11.0, 21.0, 22.0, 19.0, 23.0, 10.0]
[ 1.8  5.8 -3.2 -7.2 -6.2  3.8  4.8  1.8  5.8 -7.2]
[ 0.35059022  1.12967961 -0.62327151 -1.4023609  -1.20758855  0.74013492
  0.93490726  0.35059022  1.12967961 -1.4023609 ]
Origin x mean = 17.20,Centered mean = 0.00,Std dev of standard x = 0.00