根据另一个标准填写空白

时间:2017-10-26 13:05:23

标签: python dataframe fillna

所以我想要实现的基本上是根据其他列填充列中的空白行。所以这里是我的数据框的样子片段。

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确实至少有一行具有yes的特定person_name,那么就不要为该人填写任何内容并转到我数据帧中的下一个人。

1 个答案:

答案 0 :(得分:1)

您正在寻找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