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

如何基于df_2最高版本校验df_1中my_id的完整性?

正确处理流程

1. 锁定每个(scope, date)的最高版本记录

先算出每个scope和date组合对应的最大version值,再通过关联把df_2中属于这个最高版本的所有记录筛选出来:

# 计算每个分组的最高版本
max_version_df = df_2.groupby(['scope', 'date'])['version'].max().reset_index()

# 筛选出最高版本对应的所有记录
latest_version_records = df_2.merge(max_version_df, on=['scope', 'date', 'version'], how='inner')

2. 检查最高版本记录的完整性

用左反连接对比筛选后的最高版本记录和df_1,找出那些在最新版本里但没出现在df_1中的my_id,这些就是缺失的数据:

# 左反连接找缺失记录
missing_ids = latest_version_records.merge(
    df_1[['my_id']], 
    on='my_id', 
    how='left', 
    indicator=True
)
missing_ids = missing_ids[missing_ids['_merge'] == 'left_only'].drop('_merge', axis=1)

# 输出缺失的记录
print(missing_ids)

运行这段代码后,missing_ids里就会显示所有在对应scope+date的最高版本中存在,但df_1里没有的记录,帮你快速定位数据缺失情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 05:45:30