Чтобы создать новый столбец с функцией, вы можете использовать apply
:
df = pd.DataFrame({'Title':['Dr', 'dr', 'Mr'],
'Name':['John', 'Jim', 'Jason']})
doctorcriteria = ['Dr', 'dr']
def doctor(x):
if x.Title in doctorcriteria:
return 'Doctor'
else: return 'Not a doctor'
df['IsDoctor'] = df.apply(doctor, axis=1)
Но более прямым путем к ответу будет использование map
в столбце Title
.
doctor_titles = {'Dr', 'dr'}
df['IsDoctor'] = df['Title'].map(lambda title: title in doctor_titles)