根据另一个标准填空

Filling in blanks based off of criteria of another

所以我想要实现的基本上是根据另一列填充一列中的空白行。所以这是我的数据框的片段。

Person_Name     State_Abbrev       Bool
george, John    CT                   NO
george, John    PA                   NO
george, John.   NY                   NO
adam, Ross      NY                   YES
adam, Ross      CA                   NO

所以我想做的是查看 Person_Name 列,然后说如果 bool 列对每个特定的 Person_Name 都说不,并且他们对那个人来说不是,然后做一个新列并在该列中填写问题一词,但如果 Person_Name 确实至少有一行对应的特定 person_name 有一个是,则不要为该人填写任何内容并继续我数据框中的下一个人。

您正在寻找 groupby + transform + isin:

df['New'] = df.groupby('Person_Name').Bool\
        .transform(lambda x: 'Question' if ~x.isin(['YES']).any() else '')

df

     Person_Name State_Abbrev Bool       New
0   george, John           CT   NO  Question
1   george, John           PA   NO  Question
2  george, John.           NY   NO  Question
3     adam, Ross           NY  YES          
4     adam, Ross           CA   NO