I have a dataframe:
df =
col1 col2 col3
1 2 3
1 4 6
3 7 2
I want to edit df, such that when the value of col1 is smaller than 2 , take the value from col3.
So I will get:
new_df =
col1 col2 col3
3 2 3
6 4 6
3 7 2
I tried to use assign and df.loc but it didn't work.
What is the best way to do so?
df['col1'] = df['col1'].mask(df['col1'] < 2,df['col3']), ordf = df.assign(col1=df['col1'].mask(df['col1'] < 2,df['col3']))or similar withnp.where