import pandas as pd import seaborn as sns df = sns.load_dataset("titanic")
df.head()
import numpy as np
If you are like me and have an Excel background you reliase how Important the if() formula is in Excel.
Note Pandas is built on top of numpy so we can use numpy features with pandas when creating columns and passing in arrays as columns.
Example: Take a look at the method below:
np.where(df.age < 30, "Young","Not Young")
array(['Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Not Young', 'Young', 'Young', 'Young', 'Young', 'Not Young', 'Not Young', 'Young', 'Not Young', 'Young', 'Young', 'Young', 'Not Young', 'Young', 'Young', 'Not Young', 'Young', 'Not Young'], dtype='<U9')
As I said above, since Pandas is built on top of Numpy we can pass in numpy array to create a new Columns as shown below:
df["is Young"] = np.where(df.age < 30, "Young","Not Young")
Examples of multiple conditions with an And.
np.where((df.age >22) & (df.pclass <=3),"True","False")
array(['False', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'False', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'False', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'False', 'True', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'False', 'True', 'False', 'False', 'True', 'False', 'False', 'False', 'True', 'True', 'False', 'True', 'False', 'True', 'True', 'False', 'False', 'True', 'False', 'False', 'True', 'False', 'True', 'True', 'True', 'False', 'True', 'False', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True', 'True', 'True', 'True', 'False', 'False', 'False', 'False', 'True', 'True', 'True', 'False', 'True', 'True', 'True', 'True', 'False', 'False', 'True', 'True'], dtype='<U5')
df["age and pclass test"] = np.where((df.age >22) & (df.pclass <=3),"True","False")
The and condition above, returns True if age column is more than 22 and the pclass is less than or equal to 3.
Note:
df.iloc[np.where((df.age >22) & (df.pclass <=3))]
483 rows × 17 columns
Let's do an example of the Or statment.
np.where((df.age >22) | (df.sex == "Female"),"True","False")
df["female or under 22"] = np.where((df.age >22) | (df.sex == "Female"),"True","False")