Récupération de lignes d'une sortie de série Pandas GroupBy MultiIndex
Étant donné un DataFrame avec un multi-index, vous pouvez effectuer une opération GroupBy pour compter ou regrouper les valeurs. Cependant, le résultat obtenu est une série avec un index hiérarchique, ce qui rend difficile l'affichage des lignes brutes. Cet article explique comment reconvertir cette sortie en un DataFrame contenant les lignes d'origine.
Question :
Comment pouvez-vous transformer une sortie Pandas GroupBy multi-index Series, tels que :
City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
dans un autre DataFrame qui conserve tous les originaux lignes ?
Réponse :
La clé pour reconvertir la série en DataFrame est de gérer l'index hiérarchique. Voici deux approches :
1. Utilisation de add_suffix et reset_index
g1.add_suffix('_Count').reset_index()
Cette méthode ajoute un suffixe aux noms de colonnes et réinitialise l'index hiérarchique pour créer un nouveau DataFrame avec un index plat.
Sortie :
Name City City_Count Name_Count 0 Alice Seattle 1 1 1 Bob Seattle 2 2 2 Mallory Portland 2 2 3 Mallory Seattle 1 1
2. Utilisation de DataFrame et reset_index
DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Cette méthode crée un nouveau DataFrame à partir des tailles regroupées et réinitialise l'index hiérarchique pour obtenir un DataFrame plat.
Sortie :
Name City count 0 Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 3 Mallory Seattle 1
Ces approches vous permettent d'extraire les lignes de la sortie GroupBy multi-index Series et reconstruisez un DataFrame qui contient toutes les données originales.
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!