在numpy中,原始数组的形状(2,2,2)就像这样
[[[0.2,0.3],[0.1,0.5]],[[0.1,0.3],[0.1,0.4]]]
我想缩放数组,使a维的最大值为1,如下所示:
因为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中的整数来复制数组,但我不确定如何使用不同的因子对数组进行多次复用。有没有人有这方面的想法?
答案 0 :(得分:4)
如果您的数组= 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]]])