I have a pandas dataframe like this :
id  target
0   0.5595
1   0.9642
2   0.6225
3   0.1256
4   0.1966
For example, if the numbers in the target variable are greater than 0.5, I want to add 0.2 and change that number.
How can i do this ?
Here no loops are necessary, because vectorized alternatives exist.
Using DataFrame.loc is the simplest way:
df.loc[df.target.gt(0.5), 'target'] += 0.2 
Which is the same as:
df.loc[df.target.gt(0.5), 'target'] = df.loc[df.target.gt(0.5), 'target'] + 0.2 
It is also possible to use np.where:
df.target = np.where(df.target.gt(0.5), df.target + 0.2, df.target)
Btw, the not recommended for solution would be:
df.target = [x + 0.2 if x > 0.5 else x for x in df.target]
 
    
    