Modification des valeurs en fonction de critères spécifiques dans Pandas
Lors d'une itération sur un DataFrame Pandas, il est souvent nécessaire de modifier des valeurs spécifiques en fonction de critères de correspondance . Pour y parvenir dans Pandas, nous pouvons tirer parti de ses capacités d'indexation et de filtrage.
Comprendre le problème
L'objectif est de parcourir la colonne "ID" dans un DataFrame et modifiez les colonnes "FirstName" et "LastName" en conséquence si un identifiant spécifique est rencontré. Dans Stata, cela peut être réalisé en utilisant :
replace FirstName = "Matt" if ID==103 replace LastName = "Jones" if ID==103
Implémentation de Pandas
Pour implémenter cette logique dans Pandas, nous pouvons utiliser l'approche suivante :
import pandas as pd df = pd.read_csv("test.csv") # Using logical indexing and overwrite assignment df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"
Ce code découpe le DataFrame en fonction de la condition ID == 103 pour sélectionner les lignes avec cet ID, puis écrase les valeurs des colonnes "FirstName" et "LastName" par les valeurs souhaitées.
Assignation chaînée
Une autre méthode, bien que moins recommandée, est l'affectation chaînée :
df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"
Cette approche modifie également les valeurs en fonction de la condition de filtrage, mais elle est déconseillée car cela peut conduire à un comportement imprévisible dans les versions plus récentes de Pandas.
Conclusion
En utilisant les techniques d'indexation et d'affectation d'écrasement appropriées, Pandas permet une modification efficace de valeurs spécifiques en fonction sur des critères de correspondance, permettant des manipulations de données complexes similaires à celles possibles dans d'autres logiciels statistiques.
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!