如何在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]?的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中将csv转换为json?

如何在Oracle sql中将行转换为按多列分组的列[关闭]

如何在C中将字符串常量转换为预处理标记

如何在matlab中将L*a*b*转换为灰度

如何在Dart中将列表转换为地图

如何在程序中将中缀表达式转换为后缀表达式