我有一个数组,我想将该数组除以所有值的和。
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]
答案 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)