Answers for "create new column in pandas based on condition"

3

pandas if else new column

# Method 1:
df.loc[df['column name'] condition, 'new column name'] = 'value if condition is met'
#or
df.loc[df['set_of_numbers'] <= 4, 'equal_or_lower_than_4?'] = 'True' 

# Method 2:
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')
#or
df['name_match'] = df['First_name'].apply(lambda x: 'Match' if x == 'Bill' else 'Mismatch')

# or
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'
Posted by: Guest on April-13-2021
3

pandas create new column conditional on other columns

# For creating new column with multiple conditions
conditions = [
    (df['Base Column 1'] == 'A') & (df['Base Column 2'] == 'B'),
    (df['Base Column 3'] == 'C')]
choices = ['Conditional Value 1', 'Conditional Value 2']
df['New Column'] = np.select(conditions, choices, default='Conditional Value 1')
Posted by: Guest on May-14-2020
1

add a value to an existing field in pandas dataframe after checking conditions

# Create a new column called based on the value of another column
# np.where assigns True if gapminder.lifeExp>=50 
gapminder['lifeExp_ind'] = np.where(gapminder.lifeExp >= 50, True, False)
gapminder.head(n=3)
Posted by: Guest on September-18-2020
2

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
Posted by: Guest on December-01-2020
1

python conditionally create new column in pandas dataframe

# If you only have one condition use numpy.where()
# Example usage with np.where:
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')}) # Define df
print(df)
  Type Set
0    A   Z
1    B   Z
2    B   X
3    C   Y

# Add new column based on single condition:
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


# If you have multiple conditions use numpy.select()
# Example usage with np.select:
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')}) # Define df
print(df)
  Type Set
0    A   Z
1    B   Z
2    B   X
3    C   Y

# Set the conditions for determining values in new column:
conditions = [
    (df['Set'] == 'Z') & (df['Type'] == 'A'),
    (df['Set'] == 'Z') & (df['Type'] == 'B'),
    (df['Type'] == 'B')]

# Set the new column values in order of the conditions they should
#	correspond to:
choices = ['yellow', 'blue', 'purple']

# Add new column based on conditions and choices:
df['color'] = np.select(conditions, choices, default='black')

print(df)
# Returns:
  Set Type   color
0   Z    A  yellow
1   Z    B    blue
2   X    B  purple
3   Y    C   black
Posted by: Guest on November-12-2020
0

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()
Posted by: Guest on September-18-2020

Code answers related to "create new column in pandas based on condition"

Python Answers by Framework

Browse Popular Code Answers by Language