【问题标题】:Ratio calculation in 2D numpy array二维 numpy 数组中的比率计算
【发布时间】:2020-11-06 18:07:03
【问题描述】:

假设给定以下 numpy 数组 myArray

myArray = np.array([[4,0,0],
                    [1,0,1],
                    [2,1,0],
                    [0,0,2],
                    [1,3,0],
                    [1,0,1],
                    [1,0,1]])

需要计算一列中的数字与该列的数字之和的比率。 例如,第 0 列的和是 10,所以第 0 列和第 0 行的值应该是 0.4。

即上面myArray的预期结果是:

[[0.4,0,0],
 [0.1,0,0.2],
 [0.2,0.25,0],
 [0,0,0.4],
 [0.1,0.75,0],
 [0.1,0,0.2],
 [0.1,0,0.2]]

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    只要做:

    import numpy as np
    
    myArray = np.array([[4,0,0],
                        [1,0,1],
                        [2,1,0],
                        [0,0,2],
                        [1,3,0],
                        [1,0,1],
                        [1,0,1]])
    
    result = myArray / myArray.sum(axis=0)
    print(result)
    

    输出

    [[0.4  0.   0.  ]
     [0.1  0.   0.2 ]
     [0.2  0.25 0.  ]
     [0.   0.   0.4 ]
     [0.1  0.75 0.  ]
     [0.1  0.   0.2 ]
     [0.1  0.   0.2 ]]
    

    【讨论】:

    • 可能需要.sum(axis = 0, keepdims = True),以防万一有人想更改归一化轴。
    猜你喜欢
    • 2019-07-31
    • 2021-01-17
    • 2022-01-07
    • 2021-07-20
    • 2021-07-24
    • 2020-12-09
    • 2019-03-02
    • 1970-01-01
    • 2017-03-22
    相关资源
    最近更新 更多