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

Pandas技术问题:基于两个DataFrame的共同Datetime生成新DataFrame

解决方案:保留两个DataFrame中Datetime交集的行

现有两个Pandas DataFrame(df1和df2),需生成一个与df1结构完全一致的新DataFrame,仅保留Datetime列值同时存在于两个DataFrame的行(注:相同Datetime在两个DataFrame中的索引可能不同)。

方法一:使用isin()快速筛选

这是最直观的实现方式,直接判断df1的Datetime是否在df2的Datetime集合中:

import pandas as pd

# 假设df1和df2已加载完成
# 筛选符合条件的行
new_df = df1[df1['Datetime'].isin(df2['Datetime'])]

方法二:使用merge()内连接

通过内连接自动保留双方共有的Datetime行,同时保留df1的全部列结构:

# 仅取df2的Datetime列进行连接,避免引入多余列
new_df = pd.merge(df1, df2[['Datetime']], on='Datetime', how='inner')

关键注意事项

  • 确保Datetime类型一致:如果两个DataFrame的Datetime是字符串格式,必须保证格式完全匹配(包括毫秒、时区等);更稳妥的方式是统一转换为datetime64类型:
    df1['Datetime'] = pd.to_datetime(df1['Datetime'])
    df2['Datetime'] = pd.to_datetime(df2['Datetime'])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:57:16