如何在python pandas数据框中搜索具有相同ID的所有值

rai*_*ain 3 python dataframe pandas

我正在尝试搜索TEXT相同的所有值ID以查找它是否包含“A”,并添加一列以显示结果。有人可以帮我吗?谢谢!

ID  TEXT  HAVE A?
1   A     YES
1   B     YES
2   A     YES
3   B     NO
Run Code Online (Sandbox Code Playgroud)

Shu*_*rma 5

使用Series.eqthen groupbyonIDtransformusing创建布尔掩码any,最后使用np.whereYESNO基于此掩码选择值:

m = df['TEXT'].eq('A').groupby(df['ID']).transform('any')
df['HAS A?'] = np.where(m, 'YES', 'NO')
Run Code Online (Sandbox Code Playgroud)
   ID TEXT HAS A?
0   1    A    YES
1   1    B    YES
2   2    A    YES
3   3    B     NO
Run Code Online (Sandbox Code Playgroud)