python 按列归一化_Numpy数组按行或按列归一化

Numpy数组按行或按列归一化

发布时间:2018-09-19 21:27,

浏览次数:2264

, 标签:

Numpy

给定一个数组,将各列(行)归一化(缩放到 [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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值