Remplissage valeurs nulles selon 2 conditions

Résolu
chaldeen Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
chaldeen Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Sur la capture d'écran ci-dessus, j'ai fait une recherche grâce à .loc qui me permettent de visualiser 3 pays pour lesquelles je n'ai aucune valeur pour la stabilité politique, j'aimerais faire une imputation à la moyenne par continent par rapport à l'ensemble des valeurs que je possède autrement.

Pour les personnes un peu plus calées que moi en Python, j'ai fait cette ligne pour que la valeur de Stabilité Politique du pays du Continent 'AS' devienne la moyenne des stabilités politiques des autres pays AS :

Dataframe.loc[(Dataframe['Stabilité_Politique'].isnull() & Dataframe['Continent']=='AS'),'Stabilité_Politique']=round(Dataframe['Stabilité_Politique'][Dataframe['Continent']=="AS"].mean(),2)

Seulement, quand je mets une seule condition dans la 1ère partie du code, ça fonctionne, mais quand j'en ai 2 comme là (Stabilité politique nulle & continent = AS), ça ne modifie plus rien.

En gros, j'aimerai que le code ci-dessous m'affiche la 1ère ligne de la capture d'écran ci-dessus :

Dataframe.loc[(Dataframe['Stabilité_Politique'].isnull() & Dataframe['Continent']=='AS')]

J'ai aucune idée si j'ai été clair ou très brouillon dans mes explications, mais merci d'avance si quelqu'un y comprends quelque chose !

A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

cela fonctionne donc avec chacune de ces deux conditions?

  1. (Dataframe['Stabilité_Politique'].isnull())
  2. (Dataframe['Continent']=='AS')

As-tu essayé avec 

(Dataframe['Stabilité_Politique'].isnull()) & (Dataframe['Continent']=='AS')

N'hésite pas à partager un bout de code que nous puissions tester.

0
chaldeen Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour, effectivement, il suffisait simplement de mettre chaque côté dans des parenthèses bien distinctes, je me doutais que c'était un détail qui faisait la différence, ça fonctionne, merci beaucoup !

0