Remplissage valeurs nulles selon 2 conditions

Résolu/Fermé
chaldeen Messages postés 12 Date d'inscription mardi 13 avril 2021 Statut Membre Dernière intervention 20 février 2023 - 20 févr. 2023 à 14:43
chaldeen Messages postés 12 Date d'inscription mardi 13 avril 2021 Statut Membre Dernière intervention 20 février 2023 - 20 févr. 2023 à 16:28

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 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 Ambassadeur 1 551
20 févr. 2023 à 16:02

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 mardi 13 avril 2021 Statut Membre Dernière intervention 20 février 2023
20 févr. 2023 à 16:28

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