Python 将数组规格化为标准正态分布

Python 将数组规格化为标准正态分布,python,arrays,numpy,matplotlib,normalization,Python,Arrays,Numpy,Matplotlib,Normalization,我认为这是一个非常简单的问题,但我找不到答案 我有一个数组: array([ 62519, 261500, 1004836, ... , 0, 0]) 我想把它转换成正态分布,最小值为0,最大值为1 有什么建议吗?我正在查看sklearn.preprocess.normalize,但无法让它为我工作 其目的是使用numpy创建散点图,并希望使用第三个变量为每个点着色。但是,颜色必须介于0和1之间,因为我有一些奇怪的异常值,我认为正态分布将是一个好的开始 如果这没有任何意义,请告诉我。谢谢和干杯

我认为这是一个非常简单的问题,但我找不到答案

我有一个数组:

array([ 62519, 261500, 1004836, ... , 0, 0])
我想把它转换成正态分布,最小值为0,最大值为1

有什么建议吗?我正在查看sklearn.preprocess.normalize,但无法让它为我工作

其目的是使用numpy创建散点图,并希望使用第三个变量为每个点着色。但是,颜色必须介于0和1之间,因为我有一些奇怪的异常值,我认为正态分布将是一个好的开始


如果这没有任何意义,请告诉我。谢谢和干杯。

哦,我是个白痴,我只是想把它标准化,然后就可以做
z=(x-mean)/std
。对不起,

< P>我不推荐使用标准正态分布进行归一化,请考虑使用Frobenius /L2:

Frobenius/2-norm: 使用Numpy: 使用纯数学库 使用张量流
为什么正态分布意味着最小值为0,最大值为1,这是没有意义的。哦,我是个白痴,我只是想把它标准化,只需做z=(x-mean)/std.sryTo转换成正态分布,
(x-np.mean(x))/np.std(x)
为什么?这不一样吗?
normalized_z = z / np.linalg.norm(z)
normalized_z = z / math.sqrt(max(sum(z**2), 1e-12)) # L2: Matrix Norm
normalized_z = tf.nn.l2_normalize(z,0)