python - 存储每次迭代的值 Numpy Python

标签 python arrays numpy while-loop sum

下面的代码通过 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/

相关文章:

Python初学者,了解一些代码

python - 枕头无法读取不同的 TIFF 文件

python - 奇怪的 MongoDB 行为

python - 在 Python 中将列表列表转换为数组

Foreach 循环中的 PHP 2 数组?

python - 确定性傅立叶反卷积

python - 通过命令行使用 numpy

python - 多处理代码反复运行

java - 在 Java 中从数组中获取时出错

python - 准备 pandas 数据框以使用误差条进行绘图