0
votes

Mise à jour des valeurs NAN dans un fichier de données lorsqu'il y a une correspondance à un élément de liste dans une autre colonne Dataframe

Débutant en Python ici. Ont essayé de rechercher une solution pour cela d'un tas de sites. Pourrait tout simplement ne pas connecter les points corrects.

J'essaie de remplir les valeurs "Nan" dans un fichier de données basé sur des valeurs présentes dans une liste. Si le nom de la personne apparaît sur la liste, la colonne "Geo" doit être mise à jour avec le nom de géo correct. Les listes sont complètes, avec des personnes dans les régions, mais le Dataframe n'est pas et doit être mis à jour.

Qu'est-ce que j'ai l'air approximativement comme ceci: xxx

Je tiens à mettre à jour les valeurs NAAN en fonction des listes ci-dessous. xxx


0 commentaires

3 Réponses :


1
votes

première création de dictionnaireby chaque liste: xxx

puis échangez la commande avec Aplatten: xxx

Dernier remplacement ne remplace que des valeurs mappées par des valeurs mappées par série.map et Série. Fillna : xxx

ou cartographique toutes les valeurs: xxx


0 commentaires

0
votes

Un simple np.where devrait résoudre ce problème: https://docs.scipy.org/doc/numpy/ Référence / générée / numpy.where.html

df['geo'] = np.where((df['geo'].isnull()) & (df['name'].isin(MEA)), 'MEA',
            np.where((df['geo'].isnull()) & (df['name'].isin(APAC)), 'APAC',
                      pdf['geo']))


0 commentaires

0
votes

Essayez ceci:

for x in df.index:
    if df.loc[x,"name"] in EMEA:
        df.loc[x,"geo"]='EMEA'
    if df.loc[x,"name"] in APAC:
        df.loc[x,"geo"]="APAC"


0 commentaires