如何对重复数据分组并标记组内含TRUE Flag的记录
分组后按组内条件批量赋值新列的解决方案
核心思路是利用groupby.transform()方法,它能将组级别的计算结果自动广播到组内的每一条记录,完美适配你的需求:
代码实现(以Pandas为例)
首先构造示例数据集:
import pandas as pd data = { 'Concat': ['AAA', 'AAA', 'BBB', 'BBB', 'CCC'], 'Flag': [True, False, False, False, True] } df = pd.DataFrame(data)
执行分组赋值逻辑:
# 新增Group_Flag列,组内任意Flag为True则全组标记为True df['Group_Flag'] = df.groupby('Concat')['Flag'].transform(any)
结果展示
运行后数据集如下:
Concat Flag Group_Flag
0 AAA True True
1 AAA False True
2 BBB False False
3 BBB False False
4 CCC True True
特殊情况处理
如果你的Flag列是字符串格式的'TRUE'/'FALSE',先做类型转换再执行上述逻辑:
df['Flag'] = df['Flag'].str.upper().map({'TRUE': True, 'FALSE': False})
内容的提问来源于stack exchange,提问作者brummie49
相关产品推荐
相关产品推荐

