Python 在表中查找值并更改所有重复项的值

Python 在表中查找值并更改所有重复项的值,python,pandas,Python,Pandas,我有一个这样的数据帧 Subject Special Mutated dog Y N dog Y N dog N Y dog N Y cat Y N cat N Y cat N Y bird N Y bird N Y Subject Special Mutated dog Y

我有一个这样的数据帧

Subject Special Mutated  
dog     Y       N      
dog     Y       N 
dog     N       Y
dog     N       Y
cat     Y       N 
cat     N       Y
cat     N       Y 
bird    N       Y
bird    N       Y
Subject Special Mutated  
dog     Y       N      
dog     Y       N 
dog     Y       Y
dog     Y       Y
cat     Y       N 
cat     Y       Y
cat     Y       Y 
bird    N       Y
bird    N       Y
我想检查
主题
中的一个是否在
特殊
行中具有值
Y
。如果是,所有副本都应获得值
Y

输出应该如下所示

Subject Special Mutated  
dog     Y       N      
dog     Y       N 
dog     N       Y
dog     N       Y
cat     Y       N 
cat     N       Y
cat     N       Y 
bird    N       Y
bird    N       Y
Subject Special Mutated  
dog     Y       N      
dog     Y       N 
dog     Y       Y
dog     Y       Y
cat     Y       N 
cat     Y       Y
cat     Y       Y 
bird    N       Y
bird    N       Y

到目前为止,我没有一个好的方法-你们有什么想法吗?

让我们试试
transform

df['Special'] = df.groupby(['Subject'])['Special'].transform('max')
Out[316]: 
0    Y
1    Y
2    Y
3    Y
4    Y
5    Y
6    Y
7    N
8    N
Name: Special, dtype: object
为什么有效

'Y'>'N'
Out[317]: True