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

Python如何检查DataFrame中word与color两列的映射一致性

检查DataFrame单词与颜色映射一致性的方法
  • 方法1:分组统计唯一值
    按word分组后统计每个单词对应的color唯一值数量,只要有单词的唯一值数量大于1,就说明存在映射不一致的情况:
    # 筛选出映射不一致的单词
    inconsistent_words = df.groupby('word')['color'].nunique()[lambda x: x > 1]
    # 验证所有映射是否全部一致,返回True则全部一致
    is_all_consistent = inconsistent_words.empty
    
    如果返回的inconsistent_words为空,说明所有单词对应的颜色都固定,否则结果里会列出所有存在映射冲突的单词。
  • 方法2:去重校验
    因为每个单词恰好出现2次,如果映射一致的话,word和color两列联合去重后,每个单词只会出现1次,不会有重复:
    dedup_df = df.drop_duplicates(subset=['word', 'color'])
    # 校验去重后是否有重复的单词,返回True则全部一致
    is_all_consistent = not dedup_df['word'].duplicated().any()
    
  • 方法3:定位不一致的行
    如果你需要直接找到映射冲突的具体行,可以用分组取首次出现的颜色做对比:
    # 给每个行匹配对应单词第一次出现的颜色
    df['first_match_color'] = df.groupby('word')['color'].transform('first')
    # 筛选出颜色不一致的行
    inconsistent_rows = df[df['color'] != df['first_match_color']]
    
    返回的inconsistent_rows就是所有存在映射冲突的记录,可直接查看具体内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:06:04