如何将事件间隔列连续累加转换为对应的绝对时间点序列
你要实现的是单列数值的前缀累计求和,不同常用工具都有非常简便的实现方式,以下是不同场景的操作方法:
- Excel/WPS 场景
假设你的Interval列数据在A列,首行数据位于A2单元格:- 在B2(对应第一个Timepoint单元格)输入公式
=A2,回车得到第一个结果 - 在B3单元格输入公式
=B2+A3,回车后选中B3单元格,鼠标下拉填充整列即可自动计算所有累计值
- 在B2(对应第一个Timepoint单元格)输入公式
- Python 场景
如果使用pandas处理表格数据,仅需一行代码调用内置的累计求和方法:
如果是纯Python列表计算,也可以用内置迭代工具快速实现:import pandas as pd # 假设df是已经读取了Interval列的DataFrame df['Timepoint'] = df['Interval'].cumsum()from itertools import accumulate intervals = [0.55, 0.87, 0.80, 0.75, 0.73, 0.64] timepoints = list(accumulate(intervals)) - R 语言场景
直接调用内置的cumsum()函数即可:# 假设df是已经读取了Interval列的数据框 df$Timepoint <- cumsum(df$Interval)
以上方法计算出来的结果和你给出的预期Timepoint列完全一致。
内容的提问来源于stack exchange,提问作者Slevin
相关产品推荐
相关产品推荐

