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

Python Pandas比较两个DataFrame 仅保留公共索引行并分别返回

解决方案

你可以通过取两个DataFrame索引的交集,再分别筛选数据实现需求,完整代码如下:

import pandas as pd

# 若DATETIME还不是索引,先执行这一步将其设为索引
df1 = df1.set_index('DATETIME')
df2 = df2.set_index('DATETIME')

# 计算两个索引的公共部分,即两边都存在的时间戳
common_index = df1.index.intersection(df2.index)

# 用公共索引分别筛选两个DataFrame,reset_index可将DATETIME恢复为普通列
filtered_df1 = df1.loc[common_index].reset_index()
filtered_df2 = df2.loc[common_index].reset_index()

代码说明

  • 筛选后的两个DataFrame的时间戳完全匹配,顺序也保持一致
  • 如果你需要保留DATETIME为索引,去掉末尾的reset_index()即可
  • 该方法对时间精度为秒、毫秒等不同粒度的时间戳索引都适用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:27:02