下面的代码通过 Vals
函数对 Numbers
值进行分类,并在排序后将所有总和相加。我正在尝试将 SUM
值附加到 T_SUM
以存储每个排序的每个 SUM
的值。
Vals= np.arange(start=60, stop=105, step=5)
Numbers = np.array([123.6, 130 , 150, 110.3748, 111.6992976,
102.3165566, 97.81462811 , 89.50038472 , 96.48141473 , 90.49956702, 65])
T_Sum = np.array([])
p= 0
while len(Vals) != p:
Numbers= np.where(Numbers >= Vals[p],Numbers ,0 )
p = p + 1
SUM = np.sum(Numbers)
T_Sum = np.concatenate((T_Sum, SUM))
print(T_Sum)
最佳答案
您可以使用掩码数组来掩码您想要的值,然后将它们全部汇总在一行中:
T_Sum = np.ma.masked_array(np.repeat(Numbers[None,:],Vals.size,0),mask=[Numbers<Vals[:,None]]).sum(-1).data
输出:
array([1167.28664878, 1167.28664878, 1102.28664878, 1102.28664878,
1102.28664878, 1102.28664878, 1012.78626406, 922.28669704,
727.9906542 ])
关于python - 存储每次迭代的值 Numpy Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66449775/