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

如何查找DataFrame合并数据集后缺失行的具体位置

Pandas 合并后缺失行定位方案

误区提示:Pandas中同一个DataFrame下所有列的行数完全一致,你观察到的「某数据集行数少」实际是该数据集对应的列存在96个空值,属于合并过程中(通常是左连接/外连接)未匹配到数据的正常表现,空值分布在日期中段所以仅检查首尾行无法发现。
DataFrame示意图
你可以通过以下几个方法快速定位缺失位置:

  • 方法1:通过完整日期序列匹配找缺失日期
    以日期为对齐基准生成完整时间序列,和现有日期做差集即可直接得到缺失的日期节点:
    # 先将日期列转为datetime格式,避免格式不匹配导致的校验错误
    crypto_df['date'] = pd.to_datetime(crypto_df['date'])
    # 生成对应频率的完整日期范围,freq参数根据你的数据周期调整:日频用'D'、小时频用'H'、分钟频用'T'
    full_date_range = pd.date_range(start=crypto_df['date'].min(), end=crypto_df['date'].max(), freq='D')
    # 取现有去重后的日期列表
    existing_dates = crypto_df['date'].drop_duplicates()
    # 输出所有缺失的日期
    missing_dates = full_date_range[~full_date_range.isin(existing_dates)]
    print(missing_dates)
    
  • 方法2:直接筛选空值行得到完整缺失记录
    针对行数不足的数据集对应的字段做空值筛选,直接得到所有缺失行的完整信息:
    # 将示例中的'目标字段名'替换为你要检查的数据集对应的列名,多字段校验可以用&连接多个isna()条件
    missing_rows = crypto_df[crypto_df['目标字段名'].isna()]
    # 可直接输出查看缺失行的日期、其他关联字段信息
    print(missing_rows)
    
  • 方法3:快速校验缺失数量是否匹配
    先全局统计各字段的缺失值数量,确认该数据集对应字段的缺失数正好为96,避免定位方向错误:
    # 输出所有列的缺失值计数
    print(crypto_df.isna().sum())
    

如果后续搜索相关解决方案,可参考关键词:pandas 按日期查找缺失行、pandas 筛选空值行、pandas 各列缺失值统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:07