如何对DataFrame连续两行VALUE求和并保留第二行DATE生成新表
你可以用pandas的分组聚合功能实现,代码如下:
首先导入依赖,构造测试数据:
import pandas as pd # 这里替换成你自己的原始DataFrame读取逻辑 df = pd.DataFrame({ 'DATE': ['23/07/21 01', '23/07/21 02', '23/07/21 03', '23/07/21 04'], 'VALUE': [20, 10, 15, 200] })
核心处理逻辑:
# 按索引每2行分为一组,聚合时DATE取每组最后一个值,VALUE取每组求和结果 result = df.groupby(df.index // 2).agg( DATE = ('DATE', 'last'), VALUE = ('VALUE', 'sum') ).reset_index(drop=True)
执行后打印result就能得到你要的输出结果:
DATE VALUE 0 23/07/21 02 30 1 23/07/21 04 215
如果你的原始数据行数为奇数,不需要保留最后不足2行的分组,可以在分组前先裁剪数据:
# 仅保留前面完整的N组共2*N行数据 df = df.iloc[: len(df) // 2 * 2]
内容的提问来源于stack exchange,提问作者Tobitor
相关产品推荐
相关产品推荐

