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)
使用Series.eqthen groupbyonID和transformusing创建布尔掩码any,最后使用np.where从YES或NO基于此掩码选择值:
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)