You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas场景下高效实现两个时间Series对应值求和的方法咨询

高效实现方法

pandas 内置的 Series 加法已经做了高度优化,直接调用add()方法并指定空值填充参数即可,不需要手动实现关联或归并逻辑,性能远高于自定义的实现方案。

示例代码

import pandas as pd

# 构造示例 Series
s1 = pd.read_json('{"count":{"1614470400000":4,"1617148800000":0,"1619740800000":0,"1622419200000":4,"1625011200000":4,"1627689600000":5,"1630368000000":0,"1632960000000":8,"1635638400000":2}}')['count']
s2 = pd.read_json('{"count":{"1625011200000":1}}')['count']

# 按索引对齐相加,不存在的索引值默认填充0
result = s1.add(s2, fill_value=0).astype(int)

方案优势

  • 自动完成索引对齐,底层针对有序索引(时间戳场景下几乎都是有序的)默认采用优化后的归并逻辑,性能远高于手动写的关联操作
  • 内置向量化运算,不需要自己处理空值判断,代码简洁不易出错
  • 针对超大规模数据(千万级条目以上),只要提前确认两个Series的索引处于排序状态,pandas会自动选择最高效的合并路径,不需要额外做其他配置

可选优化

如果你的索引是毫秒时间戳格式,可以提前转为 datetime 索引,进一步提升索引匹配效率:

s1.index = pd.to_datetime(s1.index, unit='ms')
s2.index = pd.to_datetime(s2.index, unit='ms')

内容的提问来源于stack exchange,提问作者ntg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:48:03