conditions = [ df['gender'].eq('male') & df['pet1'].eq(df['pet2']), df['gender'].eq('female') & df['pet1'].isin(['cat', 'dog']) ] choices = [5, 2] df['points'] = np.select(conditions, choices, default=0)