Pandas Groupby Gaggat

Pandas Groupby Gaggat

La technique Groupby est essentielle en raison de la façon dont il agrége les données en termes de performances et de taille du code. Le terme «groupby» décrit généralement une procédure comprenant les étapes suivantes:

  • Scission: En appliquant certaines conditions aux ensembles de données, nous pouvons diviser les données en groupes.
  • Application: Un processus où nous appliquons individuellement une méthode à chaque groupe.
  • Combinaison: Une procédure pour combiner divers ensembles de données pour former une structure de données après avoir utilisé la méthode GroupBy ().

Dans le processus d'agrégation, une statistique sommaire pour chaque groupe est calculée. Pour chaque groupe, la méthode agrégée renvoie une valeur agrégée (valeur unique). Nous pouvons effectuer plusieurs opérations d'agrégation sur les données groupées après avoir divisé les données en groupes utilisant la fonction GroupBy.

Pourquoi les pandas fournissent-ils une variété de méthodes d'agrégation de données?

Les Pandas offrent un large éventail de fonctionnalités et de fonctions pour aider à l'analyse et à l'agrégation des données. L'utilisation des méthodes Pivot (), GroupBy () et Pivot_Table (), par exemple, chacune offre une perspective différente sur la façon dont les données seraient agrégées. Ils fournissent des approches pratiques pour effectuer diverses tâches plutôt que d'être simplement reconditionnées.

Comment utiliser le .Fonction AGG () en pandas

Une moyenne simple ou une somme de valeurs est la fonction d'agrégation qui est utilisée le plus fréquemment. Vous pouvez utiliser une colonne de Dataframe ou plusieurs colonnes pour appeler une fonction agrégée. Vous verrez de nombreuses façons d'agréger les données en utilisant la méthode Pandas Groupby. Pour démontrer à quel point la procédure est plus facile, examinons quelques exemples donnés ci-dessous. Les opérations mathématiques de base comme la somme, le minimum, maximum, l'écart absolu moyen, l'écart type, la moyenne, la médiane, la variance et le produit sont parmi les fonctions d'agrégation intégrées les plus fréquemment utilisées. Pour résumer les données, nous pouvons combiner groupby et la fonction agg ().

Exemple # 01: Déterminez la somme des colonnes en regroupant les données en utilisant Groupby.fonction agg ()

Nous allons d'abord créer un dataframe en utilisant PD.Fonction DataFrame () afin que nous puissions regrouper les données de la colonne ou des colonnes de DataFrame, puis déterminer leur valeur moyenne. Nous devons importer les modules de Pandas et de la bibliothèque Numpy avant de créer le DataFrame.

Comme vous pouvez le voir, nous avons utilisé le dictionnaire Pandas pour créer notre DataFrame. Notre DF DataFrame a quatre colonnes: «patient» «groupe», «âge» et «bouteilles de sang». Les valeurs de données («Ali», «John», «Mike», «Mike», «John», «Ali», «Ali», «Mike») sont contenues par la colonne «patient» tandis que les valeurs de données («A ',' A ',' B ',' C ',' A ',' C ',' C ',' B '), (21, 22, 24, 21, 20, 24, 22, 22) et (et (et (et (et ( 2, 3, 1, 1, 2, 3, 2, 1) sont contenus dans les colonnes «groupe», «âge» et «sang_bottles» respectivement. Supposons que nous devons déterminer la somme des valeurs dans la colonne 'Blood_Bottles' en regroupant les valeurs dans la colonne 'Group'.

Pour les données de groupe «A», la somme des valeurs de «Blood_bottles» est 7. Pour les valeurs de groupe «B» et «C», la somme des valeurs de «Blood_bottles» est respectivement de 2 et 6. Nous pouvons également regrouper plusieurs colonnes pour déterminer la somme pour chaque groupe.

Comme on peut l'observer, nous avons passé une liste des étiquettes de colonnes, je.e., [«patient», «groupe»] à l'intérieur de la fonction groupby () pour créer les groupes de catégories dans chaque colonne spécifiée. Pour chaque groupe de colonnes spécifiées, nous avons déterminé la somme des valeurs dans «Blood_bottles». Par exemple, «Ali» est dans les valeurs de colonne «groupe» A et C. Dans le groupe A, la somme des valeurs de «Blood_bottles» pour Ali est de 2, et 5 dans le groupe «C».

Exemple # 02: Application de plusieurs fonctions sur une seule colonne de DataFrame en utilisant GroupBy.fonction agg ()

Plusieurs agrégations peuvent être appliquées avec la méthode «groupBy ()» en utilisant la fonction pandas agg (). Une liste appelable peut être transmise à la méthode. Voyons comment nous pouvons agréger nos données en utilisant les méthodes intégrées de la bibliothèque Numpy. Contrairement à l'exemple précédent, nous appliquerons plusieurs fonctions à une seule colonne du DataFrame. Le PD.La fonction DataFrame () sera utilisée pour créer un DataFrame pour cela avec au moins une colonne contenant des valeurs numériques.


Le dataframe requis a été créé avec une colonne numérique I.e. «Marques» avec des valeurs 41, 40, 35, 39, 49, 31, 34 et 42. Il y a 3 autres colonnes «étudiante», «sujets» et «degré» dans notre dataframe qui peut être divisée en groupes en utilisant la fonction groupby (). Les valeurs de la colonne «les étudiants» et les «matières» sont («Harry», «Ron», «Harry», «Lana», «Sam», «Ron», «Lana», «Max») et («C ++» , «Java», «python», «python», «ai», «java», «c ++», «ai»). Tandis que le degré de colonne contient les valeurs de données sous forme de chaînes, i.e., ('MS', 'BS', 'BS', 'MS', 'MS', 'MS', 'BS', 'BS'). Supposons que nous devons regrouper les données des «sujets» de colonne et déterminer à la fois la moyenne et la somme des «marques» de colonne pour chaque données groupées.

Nous avons spécifié le nom de la colonne «Sujets» en tant que chaîne à l'intérieur de la fonction GroupBy () pour convertir les données en groupes de catégories. Pour la colonne de marques, nous avons utilisé la méthode AGG (), et à l'intérieur de la fonction AGG (), nous avons spécifié les fonctions Numpy NP.somme et np.signifie trouver la somme et la moyenne des marques de chaque données de groupe dans les sujets de colonne. La somme et la valeur moyenne de la valeur du groupe «AI» sont 91 et 45.5, respectivement. La somme des marques pour la valeur «C ++» est de 75, et la valeur moyenne est de 37.5. Pour le groupe Java, la somme des marques est de 71 et la valeur moyenne est de 35.5, tandis que la somme et la valeur moyenne de Python sont respectivement de 74 et 37.

Exemple # 03: Application de plusieurs fonctions sur les plusieurs colonnes du DataFrame en utilisant GroupBy.fonction agg ()

Plutôt que d'appliquer différentes fonctions à une seule colonne de DataFrame, nous pouvons appliquer plusieurs fonctions à différentes colonnes numériques. Nous pouvons utiliser un dictionnaire dans la fonction AGG () comme une entrée pour appliquer une méthode d'agrégation spécifique aux différentes colonnes de DataFrame. Importons les bibliothèques Pandas et Numpy avant de créer un dataframe avec plusieurs colonnes numériques.

Il y a quatre colonnes dans le nouveau DataFrame avec les noms «lecteur», «le moins_score», «Highst_score» et «Location». Dans la colonne 'Player', nous avons stocké les noms de quelques joueurs en tant que valeurs de données de chaîne ('Leo', 'Alex', 'Leo', 'Fin', 'Leo', 'Alex', 'Fin', ' Fin '), dans la colonne' le moins_score ', il y a des scores les plus bas de joueurs pour certains matchs (12, 34, 2, 21, 9, 1, 0, 34), tandis que dans la colonne' Highst_score ', nous avons les scores les plus élevés des joueurs (12, 34, 2, 21, 9, 1, 0, 34) et dans la colonne «Emplacement», il y a les noms des lieux où les joueurs ont joué leurs matchs («France», «Angleterre», «Dubaï», « Dubaï ', «Angleterre», «France», «Dubaï», «France»).

Supposons que après avoir regroupé les données dans la colonne des «lecteurs», nous devons trouver la moyenne des valeurs de la colonne `` le moins_score '' et la somme des valeurs de données `` highst_score '' pour chaque groupe.

À l'intérieur de la fonction agg (), nous avons passé un dictionnaire Python 'Highst_score': 'Sum', 'le moins_score': 'Mean' pour trouver la somme et la valeur moyenne d'une colonne spécifiée contre chaque groupe. On peut voir que la valeur groupée Alex a la somme de la valeur «plus élevée» 132 et la moyenne de la valeur «le moins_score» 17.5. Pour «fin», la somme des valeurs est 199 et la moyenne est de 18.3333333 dans les colonnes 'Highst_score' et 'le moins_score' respectivement. La valeur de groupe Leo a une valeur de somme de 180 dans «Highst_score» et une valeur moyenne de 7.666667 dans 'le moins_score'.

Conclusion

Dans ce tutoriel, nous avons discuté du groupe () et des fonctions d'agrégation dans Pandas. Nous avons également discuté de la façon d'utiliser le groupe.fonction agg (). Nous avons mis en œuvre trois exemples dans cet article pour vous apprendre à utiliser une fonction d'agrégation unique sur une colonne DataFrame en regroupant les données de colonnes uniques et multiples, comment appliquer plusieurs fonctions d'agrégation sur une seule colonne d'un dataframe et comment appliquer plusieurs Fonctions d'agrégation sur les multiples colonnes du DataFrame en utilisant le groupe.fonction agg ().