Maison >développement back-end >Tutoriel Python >Comment compter la fréquence des lignes en double dans un DataFrame Pandas basé sur plusieurs colonnes ?
Obtention d'un décompte de fréquence basé sur plusieurs colonnes de dataframe
Dans une dataframe donnée, où chaque ligne est composée de plusieurs colonnes, il est souvent nécessaire pour déterminer la fréquence à laquelle les lignes en double apparaissent. Cette tâche peut être réalisée à l'aide de la bibliothèque pandas de Python.
Solution
La fonction pandas groupby() permet de regrouper des lignes en fonction de colonnes spécifiques. Pour compter la fréquence des lignes en double, nous pouvons regrouper par colonnes souhaitées et utiliser la fonction size() :
<code class="python">dfg = df.groupby(by=["Group", "Size"]).size()</code>
Ce code générera un objet pandas.Series avec les clés de groupe comme index et la fréquence compter comme des valeurs. Pour le convertir en dataframe, nous pouvons utiliser la fonction reset_index() :
<code class="python">dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")</code>
Dans cet exemple, le dataframe résultant aura des colonnes pour "Groupe", "Taille" et "Heure", où "Time" représente le nombre de fréquences.
Une approche alternative consiste à utiliser l'argument as_index=False dans groupby() :
<code class="python">dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>
Cela générera directement une trame de données sans avoir besoin d'autres manipulation d'index.
En utilisant ces techniques, vous pouvez facilement obtenir un décompte de fréquence basé sur plusieurs colonnes dans une trame de données et obtenir des informations précieuses sur la distribution des données.
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!