pandas new column if else code example
Example 1: pandas if else new column
df.loc[df['column name'] condition, 'new column name'] = 'value if condition is met'
df.loc[df['set_of_numbers'] <= 4, 'equal_or_lower_than_4?'] = 'True'
df['new column name'] = df['column name'].apply(lambda x: 'value if condition is met' if x condition else 'value if condition is not met')
df['name_match'] = df['First_name'].apply(lambda x: 'Match' if x == 'Bill' else 'Mismatch')
df.loc[(df['First_name'] == 'Bill') | (df['First_name'] == 'Emma'), 'name_match'] = 'Match'
df.loc[(df['First_name'] != 'Bill') & (df['First_name'] != 'Emma'), 'name_match'] = 'Mismatch'
Example 2: compute value based on condition of existing column dataframe
conditions = [
(df['likes_count'] <= 2),
(df['likes_count'] > 2) & (df['likes_count'] <= 9),
(df['likes_count'] > 9) & (df['likes_count'] <= 15),
(df['likes_count'] > 15)
]
values = ['tier_4', 'tier_3', 'tier_2', 'tier_1']
df['tier'] = np.select(conditions, values)
df.head()
Example 3: python conditionally create new column in pandas dataframe
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')})
print(df)
Type Set
0 A Z
1 B Z
2 B X
3 C Y
df['color'] = np.where(df['Set']=='Z', 'green', 'red')
print(df)
Type Set color
0 A Z green
1 B Z green
2 B X red
3 C Y red
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')})
print(df)
Type Set
0 A Z
1 B Z
2 B X
3 C Y
conditions = [
(df['Set'] == 'Z') & (df['Type'] == 'A'),
(df['Set'] == 'Z') & (df['Type'] == 'B'),
(df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
print(df)
Set Type color
0 Z A yellow
1 Z B blue
2 X B purple
3 Y C black
Example 4: add a value to an existing field in pandas dataframe after checking conditions
gapminder['gdpPercap_ind'] = gapminder.gdpPercap.apply(lambda x: 1 if x >= 1000 else 0)
gapminder.head()