Maison  >  Article  >  développement back-end  >  Comment mapper les valeurs du dictionnaire pour créer une nouvelle colonne dans un DataFrame Pandas ?

Comment mapper les valeurs du dictionnaire pour créer une nouvelle colonne dans un DataFrame Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 20:21:30208parcourir

How to Map Dictionary Values to Create a New Column in a Pandas DataFrame?

Résoudre les frustrations liées à la cartographie Pandas : ajouter une colonne avec des valeurs de dictionnaire mappées

Dilemme initial :

Rencontrer des défis apparemment insurmontables tout en tenter d'incorporer une nouvelle colonne dans un Pandas DataFrame, avec des valeurs mappées en fonction des données de colonne existantes. L'utilisation à la fois d'une fonction lambda et d'un dictionnaire entraîne des erreurs ou des résultats inattendus.

Résolution :

L'approche correcte consiste à utiliser la fonction map() en conjonction avec le dictionnaire cible. La syntaxe est : df["B"] = df["A"].map(equiv).

Explication :

La fonction map() applique un opération sur chaque élément d’une colonne spécifiée. Dans ce cas, l'opération récupère la valeur mappée à partir de l'équiv du dictionnaire en fonction de la clé fournie par les données de la colonne.

Exemple :

Considérez le code suivant :

<code class="python">import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001]} )
df["B"] = df["A"].map(equiv)
print(df)</code>

Sortie :

      A  B
0  7001  1
1  8001  2
2  9001  3

Cette approche ajoute efficacement les valeurs mappées à la nouvelle colonne B. De plus, elle gère gracieusement les clés manquantes en renvoyant NaN.

Considérations supplémentaires :

  • Gestion des clés : Si une clé du dictionnaire ne correspond à aucun élément de la colonne, la la valeur mappée devient NaN.
  • Performance : L'opération de mappage peut nécessiter beaucoup de calculs pour les grands ensembles de données. Envisagez des techniques d'optimisation si nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn