将数组除以所有值的总和-Python

时间:2018-07-20 13:38:50

标签: python numpy

我有一个数组,我想将该数组除以所有值的和。

array([0.6469012 ,  0.50709077, 0.12970407})

sum 1.28369604

New array ([0.50393643, 0.222048277,    0.0394994140])

我尝试了这段代码,但是没有用:(

ind_weight2=ind_weight/ind_weight.sum[:,None]

3 个答案:

答案 0 :(得分:2)

假设您的数组为my_array,请使用numpy.sum

my_array_normalized = my_array / numpy.sum(my_array)

答案 1 :(得分:1)

我不确定“将数组的所有值之和除以”是什么意思。但是,如果您的目标是创建一个将值除以原始数组值之和的数组,则可以使用列表推导来实现。

a = [0.6469012, 0.50709077, 0.12970407]
sum = sum(a)           # Calculate sum
b = [e/sum for e in a] # Create new array, where each element is divided by the sum
print(a)
print(sum)
print(b)

结果:

[0.6469012, 0.50709077, 0.12970407]
1.28369604
[0.503936430309468, 0.3950240198606518, 0.1010395498298803]

如您所见,这不会返回您在问题中提供的数字数组,所以我不确定这是否真的是您想要的

答案 2 :(得分:0)

尝试一下     new_array = array / sum(array)