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

如何使用Pandas对比两个DataFrame中探险队成员数量是否一致

实现步骤

步骤1:重命名统计结果的计数字段

你统计得到的nbre_membres_expedition中,member_id列实际是各探险队的成员计数,为了避免和expeditions表的members字段混淆,先做重命名:

nbre_membres_expedition = nbre_membres_expedition.rename(columns={"member_id": "calc_member_count"})

步骤2:关联两个表的成员数字段

把expeditions表的探险队ID、预存成员数,和你统计的计数值按expedition_id关联:

# 仅提取expeditions需要的字段,减少冗余
compare_df = pd.merge(
    left=expeditions[["expedition_id", "members"]],
    right=nbre_membres_expedition,
    on="expedition_id",
    how="outer" # 用外连接保留两边所有ID,可同时检查ID不匹配的情况
)

步骤3:对比数值是否一致

新增列标记是否一致,同时可直接筛选出不一致的记录:

# 标记两个数值是否相等,自动处理空值情况
compare_df["is_consistent"] = compare_df["members"] == compare_df["calc_member_count"]

# 查看所有不一致的记录
inconsistent_records = compare_df[~compare_df["is_consistent"]]
print(inconsistent_records)
补充说明
  • 如果只想检查expeditions表中存在的探险队的成员数是否一致,把merge的how参数改为"left"即可
  • 不一致的记录通常包含两类:一类是探险队ID只存在于单张表中,另一类是两张表都有ID但计数不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:57:00