根据另一个标准填空
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
所以我想要实现的基本上是根据另一列填充一列中的空白行。所以这是我的数据框的片段。
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