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

如何用Pandas判断某列重复值对应行的另一列是否含特定字符串

解决Pandas按分组标记是否包含特定字符串的问题

核心实现代码

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'X': [1, 1, 2, 2],
    'Y': ['Incorrect', 'Correct', 'Incorrect', 'Incorrect'],
    'Z': ['A', 'G', 'A', 'G']
})

# 新增布尔值列,标记对应X分组中Y列是否包含"Correct"
df['Has Correct in Y?'] = df.groupby('X')['Y'].transform(lambda x: x.str.contains('Correct').any())

代码解释

  • 按X列分组:通过groupby('X')将DataFrame按X列的重复值分组,确保相同X值的行被归为一组处理
  • 广播分组结果:transform方法会将每个分组的计算结果映射回原DataFrame的每一行,保证输出行数与原数据一致
  • 检查特定字符串:x.str.contains('Correct').any()对每个分组的Y列进行检查,判断是否存在任意一行包含目标字符串“Correct”,返回布尔值

执行结果

XYZHas Correct in Y?
1IncorrectATrue
1CorrectGTrue
2IncorrectAFalse
2IncorrectGFalse

扩展说明

  • 若需忽略大小写匹配,可修改为x.str.contains('Correct', case=False).any()
  • 若需精确匹配字符串“Correct”(而非包含),替换为x.eq('Correct').any()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:42:22