【问题标题】:How to convert [a,b,c] to [a+b+c, b+c, c] in numpy?如何在numpy中将[a,b,c]转换为[a+b+c,b+c,c]?
【发布时间】:2021-12-27 02:41:54
【问题描述】:

如果我有一个数组 [a,b,c],如何以最有效的方式将其转换为 [a+b+c, b+c, c]?

(a, b, c) 是浮点数。

谢谢!

【问题讨论】:

标签: python arrays python-3.x numpy torch


【解决方案1】:

在反转数组上使用numpy.cumsum(),然后再次反转它。 cumsum([a,b,c]) 返回[a,a+b,a+b+c]

import numpy as np

x = [3,7,14]

y = np.cumsum(x[::-1])[::-1]

print(y)

【讨论】:

    【解决方案2】:

    你可以使用np.cumsum:

    import numpy as np
    
    a = np.array([1, 2, 3])
    print(np.cumsum(a[::-1])[::-1])
    # Outputs [6 5 3]
    

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 2012-09-03
      • 2014-03-23
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 2018-09-14
      • 2011-08-01
      • 2017-01-05
      相关资源
      最近更新 更多