You need to enable JavaScript to run this app. 如何查找pandas两个DataFrame时间范围内的缺失日期并生成新表
优惠活动
大模型
产品
解决方案
定价
更多

如何查找pandas两个DataFrame时间范围内的缺失日期并生成新表

首先确保已经导入pandas库,且两个DataFrame的Dates列已转换为标准datetime格式,避免字符串匹配误差:

import pandas as pd

# 统一转换日期列格式
df_a['Dates'] = pd.to_datetime(df_a['Dates'])
df_b['Dates'] = pd.to_datetime(df_b['Dates'])

需求1:找出DataFrame B缺失的日期时间

直接通过集合匹配过滤即可得到所有B中缺失的时间点:

missing_times = df_a.loc[~df_a['Dates'].isin(df_b['Dates']), 'Dates']

输出的missing_times即为所有B中不存在、但A中有的缺失时间。

需求2:生成带完整时间序列的DataFrame C

以A的完整时间为基准,左关联B的观测数据即可:

# 左连接保留A的所有时间,匹配B的对应数值
df_c = pd.merge(df_a, df_b, on='Dates', how='left')

# 可选操作:如果需要将缺失的观测值填充为指定值(比如填充0),可补充以下代码
df_c['Car'] = df_c['Car'].fillna(0).astype(int)

最终得到的df_c会保留A的所有时间,匹配到B的数值会正常展示,未匹配到的默认显示NaN,执行可选填充操作后可替换为你需要的数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 16:21:03