Lors du regroupement d'un DataFrame par plusieurs colonnes à l'aide de GroupBy, le résultat est souvent une série MultiIndex. Cependant, dans certains scénarios, vous pouvez avoir besoin de récupérer les données au format DataFrame. Cet article montre comment reconvertir une sortie MultiIndex Series de GroupBy en DataFrame.
Considérez l'exemple de DataFrame suivant :
City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Seattle Mallory 4 Seattle Bob 5 Portland Mallory
En utilisant GroupBy avec plusieurs colonnes, nous pouvons compter les occurrences :
g1 = df1.groupby(["Name", "City"]).count()
Cependant, la sortie de g1 est un MultiIndex Série :
City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
Pour reconvertir cela en DataFrame, vous pouvez tirer parti de deux approches :
Méthode 1 : ajout d'un suffixe et réinitialisation de l'index
Ajoutez un suffixe aux noms de colonnes et réinitialisez l'index :
g1.add_suffix('_Count').reset_index()
Cela créera un DataFrame avec trois colonnes : Nom, Ville et deux colonnes supplémentaires suffixées par _Count pour indiquer les décomptes.
Méthode 2 : Utilisation du constructeur DataFrame
Vous pouvez également utiliser le DataFrame constructeur avec la méthode .size() pour compter les occurrences et réinitialiser l'index :
DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Ceci Cette approche créera un DataFrame avec deux colonnes : Nom, Ville et un nombre de colonnes supplémentaire représentant les décomptes.
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!