Salut,
Intuitivement je ferais :
1 2
|
df[(df['sam'] > 180) | (df['sam'] < 50)] = df['sam'].mode()[0] |
EDIT
Pour être plus précis. Lorsque vous souhaiter filtrer certaines valeurs vous faites ce que l'on appel un mask :
mask = (df['sam'] > 180) | (df['sam'] < 50)
Si vous affichez ce mask, vous verrez votre colonne sam rempli de booléens True ou False en fonction de la valeur sous-jacente. Si vous ne voulez remplacer que les valeurs de la colonne sam, il faut faire ceci (contrairement à ce que j'ai écris précédemment) :
df['sam'][mask] = df['sam'].mode()[0]
J
Partager