给定一个数组,将各列(行)归一化(缩放到 [0,1] )

方法一
import numpy as np x = np.array([[1000, 10, 0.5], [ 765, 5, 0.35], [ 800, 7,
0.09]]) x_normed = x / x.max(axis=0) print(x_normed) # [[ 1. 1. 1. ] # [ 0.765
0.5 0.7 ] # [ 0.8 0.7 0.18 ]]
x.max(axis=0)
在第0维上取最大值(即每行),返回一个行向量(ncols,),包含每列的最大值,然后可以用x来除以这个向量,这样每一列的最大值就会被缩放到1。

如何确定axis的值,只需要记住axis赋值的维度是要被压缩的维度,如果要得到各列的最大值,需要压缩行这个维度。

方法二
from sklearn.preprocessing import normalize data = np.array([ [1000, 10, 0.5],
[765, 5, 0.35], [800, 7, 0.09], ]) data = normalize(data, axis=0, norm='max')
print(data) >>[[ 1. 1. 1. ] [ 0.765 0.5 0.7 ] [ 0.8 0.7 0.18 ]]
 使用 sklearn.preprocessing

 

参考  
https://stackoverflow.com/questions/29661574/normalize-numpy-array-columns-in-python

<https://stackoverflow.com/questions/29661574/normalize-numpy-array-columns-in-python>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信