假设给出以下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]]
答案 0 :(得分:4)
只需:
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 ]]