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

Python Pandas类Vlookup实现:找出等级变更的商品编号

解决DataFrame等级不一致商品编号的查询问题
  • 先通过merge合并两个DataFrame,以article number为匹配键:

    import pandas as pd
    
    # inner模式只保留两个表都有的商品编号;outer模式保留所有商品编号
    merged_df = pd.merge(df1, df2, on='article number', how='inner')
    
  • 筛选出等级不一致的商品编号:

    # 对比等级列,提取不等的行对应的商品编号
    diff_articles = merged_df[merged_df['current tier'] != merged_df['updated tier']]['article number']
    
    # 转成列表输出结果
    print(diff_articles.tolist())
    
  • 特殊情况处理:如果需要包含仅在单个表中存在的商品(即其中一个等级缺失),改用outer模式并补充空值判断:

    merged_df = pd.merge(df1, df2, on='article number', how='outer')
    # 筛选等级不等或任一等级为空的情况
    diff_articles = merged_df[
        (merged_df['current tier'] != merged_df['updated tier']) 
        | merged_df['current tier'].isna() 
        | merged_df['updated tier'].isna()
    ]['article number']
    
  • 注意事项:如果等级列数据类型不一致(比如一个是数字、一个是字符串),先统一类型再对比:

    merged_df['current tier'] = merged_df['current tier'].astype(str)
    merged_df['updated tier'] = merged_df['updated tier'].astype(str)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:31:03