Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在numpy中缩放(或规范化)这样的数组?_Python_Arrays_Matrix_Numpy - Fatal编程技术网

Python 在numpy中缩放(或规范化)这样的数组?

Python 在numpy中缩放(或规范化)这样的数组?,python,arrays,matrix,numpy,Python,Arrays,Matrix,Numpy,在numpy中,原始数组的形状(2,2,2)如下所示 [[[0.2,0.3],[0.1,0.5]],[[0.1,0.3],[0.1,0.4]]] 我想缩放数组,使维度的最大值为1,如下所示: [[[1,0.6],[0.5,1]],[[0.5,0.6],[0.5,0.8]]] 因为max([0.2,0.1,0.1,0.1])是0.2,1/0.2是5,所以对于int元组的第一个元素,将其乘以5 因为max([0.3,0.5,0.3,0.4])是0.5,1/0.5是2,所以对于int元组的第二个元

在numpy中,原始数组的形状(2,2,2)如下所示

[[[0.2,0.3],[0.1,0.5]],[[0.1,0.3],[0.1,0.4]]]
我想缩放数组,使维度的最大值为1,如下所示:

[[[1,0.6],[0.5,1]],[[0.5,0.6],[0.5,0.8]]]
因为max([0.2,0.1,0.1,0.1])是0.2,1/0.2是5,所以对于int元组的第一个元素,将其乘以5

因为max([0.3,0.5,0.3,0.4])是0.5,1/0.5是2,所以对于int元组的第二个元素,将其乘以2

最后一个数组是这样的:

[[[1,0.6],[0.5,1]],[[0.5,0.6],[0.5,0.8]]]

我知道如何将数组与numpy中的整数相乘,但不知道如何将数组与不同的因子相乘。有人对此有想法吗?

如果您的数组=
a

>>> import numpy as np
>>> a = np.array([[[0.2,0.3],[0.1,0.5]],[[0.1,0.3],[0.1,0.4]]])
您可以这样做:

>>> a/np.amax(a.reshape(4,2),axis=0)
array([[[ 1. ,  0.6],
        [ 0.5,  1. ]],

       [[ 0.5,  0.6],
        [ 0.5,  0.8]]])

如果您的数组=
a

>>> import numpy as np
>>> a = np.array([[[0.2,0.3],[0.1,0.5]],[[0.1,0.3],[0.1,0.4]]])
您可以这样做:

>>> a/np.amax(a.reshape(4,2),axis=0)
array([[[ 1. ,  0.6],
        [ 0.5,  1. ]],

       [[ 0.5,  0.6],
        [ 0.5,  0.8]]])