Maison >développement back-end >Tutoriel Python >Comment trouver la valeur la plus courante dans un DataFrame Pandas après le regroupement ?
Pour nettoyer les données avec plusieurs colonnes de chaîne, regroupez par les deux premières colonnes et sélectionnez la valeur la plus courante pour la troisième colonne dans chaque combinaison.
Le code fourni échoue avec un KeyError et le regroupement uniquement par la colonne City entraînent une AssertionError. Une solution robuste est requise.
Post pandas v0.16, pd.Series.mode offre une méthode polyvalente et efficace pour cette tâche :
source.groupby(['Country', 'City'])['Short name'].agg(pd.Series.mode)
Dans le cas de plusieurs modes au sein d'un groupe, Series.mode renvoie une liste de valeurs. Pour un seul résultat, appliquez une fonction lambda :
source.groupby(['Country', 'City'])['Short name'].agg(lambda x: pd.Series.mode(x)[0])
scipy.stats.mode peut également être utilisé, mais il génère une erreur lorsqu'il rencontre plusieurs modes.
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!