如何在numpy中将[a,b,c]转换为[a+b+c,b+c,c]?
Posted
技术标签:
【中文标题】如何在numpy中将[a,b,c]转换为[a+b+c,b+c,c]?【英文标题】:How to convert [a,b,c] to [a+b+c, b+c, c] in numpy? 【发布时间】:2021-12-27 02:41:54 【问题描述】:如果我有一个数组 [a,b,c],如何以最有效的方式将其转换为 [a+b+c, b+c, c]?
(a, b, c) 是浮点数。
谢谢!
【问题讨论】:
这能回答你的问题吗? Perform a reverse cumulative sum on a numpy array 【参考方案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]
【讨论】:
以上是关于如何在numpy中将[a,b,c]转换为[a+b+c,b+c,c]?的主要内容,如果未能解决你的问题,请参考以下文章