如何规范化多个数组?

时间:2017-12-19 20:57:27

标签: python

我试图规范多个数组中的数字。我有10个数组,每个数组有5个数字。我已经能够规范化我的第一个数组,但所有其他数组都从第一个数组中获取参数。我的代码规范功能:

normfeatures = (features - np.min (features)) / (np.max(features) - np.min(features))

我怎样才能使每个数组从自己的数组中获取最小值和最大值,而不是第一个数组中的最小值和最大值?

1 个答案:

答案 0 :(得分:0)

您可以随时使用sklearn的Normalizer,但如果您想使用numpy

import numpy as np

#Same size
X = np.random.randint(-5,5,size = (10,5))


mins = X.min(axis = 1)
maxs = X.max(axis = 1)

X_normalized = (X - mins[:,None])/(maxs[:,None] - mins[:, None])

这将按行进行标准化。如果要按列进行标准化,可以先转置数据,然后在转置之前应用此过程。或者,您可以使用sklearn的实现。