【问题标题】:Sequentially add elements in numpy array into new array将numpy数组中的元素顺序添加到新数组中
【发布时间】:2019-01-27 17:51:20
【问题描述】:

我很好奇是否有内置函数可以将值数组转换为累积值数组。

例子:

input = np.asarray([0.000,1.500,2.100,5.000])

进入

[0.000,1.500,3.600,8.600]

谢谢!

【问题讨论】:

    标签: python


    【解决方案1】:

    使用 NumPy 中的内置 cumsum 获取数组 inputt 的累积和

    inputt = np.asarray([0.000,1.500,2.100,5.000])
    print (np.cumsum(inputt)) 
    
    # [0.  1.5 3.6 8.6]
    

    我重命名了您的数组,因为 input 已经是 python 中的一个内置函数,用于从键盘获取用户输入

    【讨论】:

    • 出于好奇,您知道如何将其截断为 100 吗?
    • @jparanich:8.6 和 8.6000 是等价的。但是您仍然可以在打印时控制小数点后的位数。见here
    • 对不起,我应该更清楚。我的意思是将累积滚动数截断为 100,因此总和不超过 100。
    • @jparanich:您可以执行以下操作:cum_sum = np.cumsum(inputt),然后是 print (cum_sum[cum_sum<100])。如果您觉得有帮助,请随时为答案投票:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2019-04-08
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多