python - 在 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]]]

我想缩放数组,使 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 中将一个数组与一个整数相乘,但我不确定如何将数组与不同的因子相乘。有人对此有想法吗?

最佳答案

如果您的数组 = 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]]])

关于python - 在 numpy 中缩放(或规范化)这样的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17292322/

相关文章:

python - numpy 在进行矩阵乘法时是否使用内存中的空间局部性?

python - 如何在 Python 中创建简单的折线图

python - 我应该使用 pip.main() 还是 subprocess.call() 来调用 pip 命令?

javascript - 如果字符串的任何变体在 URL 中匹配,则返回 true

c - C 中二维数组(矩阵)的分配?

java - 第一人称相机胶卷

python - Django 中的原始 sql 到 json,带有 Datetime 和 Decimal MySql 列

Python 正则表达式 : Splitting by\n character as long as the\n isn't at the start

arrays - VBA:删除数组项后减少循环的迭代次数?

ios - 使用 Swift 将更多数据传递到 UISearchController