Python 从列表中创建总和列表
我正在研究实验数据,我创建了一个从45°C到5°C再到45°C的温度曲线。 在回路中绘制数据结果,因为记录了从45°C到5°C的冷却和从5°C到45°C的加热。但是,由于我需要使绘图按“时间顺序”显示,所以每个温度都必须是唯一的 图像显示了我所需要的视觉解释。 因此,我所做的是使用numpys“diff”函数从每个连续的温度间隔中获得差异。到现在为止,一直都还不错。 现在我需要创建一个新的列表,其中的每一项都是以前的总和 我正在寻找的一个小例子: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,
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
会更简单。是的,我本来打算删除这个,但保留了它,因为已经选择了一个更好的答案。