np select multiple conditions code example
Example 1: pandas create a new column based on condition of two columns
conditions = [
df['gender'].eq('male') & df['pet1'].eq(df['pet2']),
df['gender'].eq('female') & df['pet1'].isin(['cat', 'dog'])
]
choices = [5,5]
df['points'] = np.select(conditions, choices, default=0)
print(df)
gender pet1 pet2 points
0 male dog dog 5
1 male cat cat 5
2 male dog cat 0
3 female cat squirrel 5
4 female dog dog 5
5 female squirrel cat 0
6 squirrel dog cat 0
Example 2: pandas mutate new column
import pandas as pd
df = pd.DataFrame({
'name': ['alice','bob','charlie','daniel'],
'age': [25,66,56,78]
})
df.assign(
is_senior = lambda dataframe: dataframe['age'].map(lambda age: True if age >= 65 else False)
).assign(
name_uppercase = lambda dataframe: dataframe['name'].map(lambda name: name.upper()),
).assign(
name_uppercase_double = lambda dataframe: dataframe['name_uppercase'].map(lambda name: name.upper()+"-"+name.upper())
)