Python 从列表中创建总和列表

Python 从列表中创建总和列表,python,pandas,numpy,Python,Pandas,Numpy,我正在研究实验数据,我创建了一个从45°C到5°C再到45°C的温度曲线。 在回路中绘制数据结果,因为记录了从45°C到5°C的冷却和从5°C到45°C的加热。但是,由于我需要使绘图按“时间顺序”显示,所以每个温度都必须是唯一的 图像显示了我所需要的视觉解释。 因此,我所做的是使用numpys“diff”函数从每个连续的温度间隔中获得差异。到现在为止,一直都还不错。 现在我需要创建一个新的列表,其中的每一项都是以前的总和 我正在寻找的一个小例子: my_list = [1,2,5,1,4,2,

我正在研究实验数据,我创建了一个从45°C到5°C再到45°C的温度曲线。 在回路中绘制数据结果,因为记录了从45°C到5°C的冷却和从5°C到45°C的加热。但是,由于我需要使绘图按“时间顺序”显示,所以每个温度都必须是唯一的

图像显示了我所需要的视觉解释。

因此,我所做的是使用numpys“diff”函数从每个连续的温度间隔中获得差异。到现在为止,一直都还不错。 现在我需要创建一个新的列表,其中的每一项都是以前的总和

我正在寻找的一个小例子:

my_list = [1,2,5,1,4,2,3]
#some operation
result_list = [1,3,8,9,13,15,18]
如果有人知道如何做到这一点,或者有更聪明的想法如何完成工作,那就太好了

my_list = [1,2,5,1,4,2,3]
result_list = [my_list[0]]

for i in my_list[1:]:
    result_list.append(result_list[-1] + i)
这应该能奏效


这应该可以做到这一点。

调用中有一个很好的功能,它正好做到了这一点:

from itertools import accumulate

lst = [1,2,5,1,4,2,3]
result_list = list(accumulate(lst))
print(result_list)  # -> [1, 3, 8, 9, 13, 15, 18]

called中有一个很好的功能,它正是这样做的:

from itertools import accumulate

lst = [1,2,5,1,4,2,3]
result_list = list(accumulate(lst))
print(result_list)  # -> [1, 3, 8, 9, 13, 15, 18]

因为这个问题被标记为
numpy
,但是由于某些原因没有人发布numpy解决方案。。。使用:)


因为这个问题被标记为
numpy
,但是由于某些原因没有人发布numpy解决方案。。。使用:)


np.cumsum(我的列表)
np.cumsum(我的列表)
。这有点老套。使用
enumerate
会更简单。是的,我本来打算删除这个,但保留了它,因为已经选择了一个更好的答案。这有点不方便。使用
enumerate
会更简单。是的,我本来打算删除这个,但保留了它,因为已经选择了一个更好的答案。