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

如何在pandas中合并两个时间戳索引的DataFrame并去除完全重复行

Pandas合并两个带时间戳索引的DataFrame并去重方案

核心思路

将两个DataFrame纵向拼接后,对时间戳(索引)和数值列同时做重复校验,仅保留完全唯一的记录。

实现代码

import pandas as pd

# 拼接两个DataFrame,df1为历史数据,df2为新增数据
combined = pd.concat([df1, df2])

# 重置索引将时间戳转为普通列,全局去重后恢复时间戳为索引
combined = combined.reset_index()\
                   .drop_duplicates(keep='first')\
                   .set_index(combined.index.name if combined.index.name else 'timestamp')

# 按时间排序保证时序正确
combined = combined.sort_index()

注意事项

  • 如果数值列为浮点数,可先对数值列做精度统一后再去重,避免浮点精度误差导致重复判定失效:
    # 示例将数值列保留3位小数,可按需调整位数
    combined['你的数值列名'] = combined['你的数值列名'].round(3)
    
  • keep='first'表示重复记录优先保留先出现的历史数据,若要优先保留新增数据可修改为keep='last'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 22:45:04