Maison > développement back-end > Tutoriel Python > Comment effectuer une agrégation de données avec Pandas ?

Comment effectuer une agrégation de données avec Pandas ?

Patricia Arquette
Libérer: 2024-12-18 06:11:11
original
449 Les gens l'ont consulté

How to Perform Data Aggregation with Pandas?

Agrégation dans Pandas

Avec Pandas, vous pouvez effectuer diverses opérations d'agrégation pour réduire la dimensionnalité et résumer les données.

Question 1 : Comment puis-je effectuer une agrégation avec Pandas ?

Pandas fournit de nombreuses fonctions d'agrégation, notamment Mean(), sum(), count(), min() et max(). Vous pouvez utiliser ces fonctions pour calculer des statistiques récapitulatives pour chaque groupe. Par exemple :

# Calculate mean of each group based on 'A' and 'B' columns
df1 = df.groupby(['A', 'B']).mean()

# Print the results
print(df1)
Copier après la connexion

Question 2 : Pas de DataFrame après agrégation ! Que s'est-il passé ?

Lorsque vous appliquez l'agrégation à plusieurs colonnes, l'objet résultant peut être une série ou un DataFrame en fonction du nombre de colonnes regroupées.

  • Série : Si vous regroupez par une ou plusieurs colonnes, le résultat est une Série avec un index correspondant au groupes.
  • DataFrame : Si vous regroupez par une seule colonne, le résultat est un DataFrame avec des colonnes correspondant aux colonnes d'origine.

Pour obtenir un DataFrame avec toutes les colonnes, utilisez as_index=False dans la fonction groupby.

Question 3 : Comment puis-je agréger principalement colonnes de chaînes (vers des listes, des tuples, des chaînes avec séparateur) ?

Pour agréger des colonnes de chaînes, vous pouvez utiliser des opérations de liste, de tuple ou de jointure.

  • Liste : Convertissez la colonne en liste en utilisant list() ou GroupBy.apply(list).
  • Tuple : Convertissez la colonne en tuple à l'aide de tuple() ou GroupBy.apply(tuple).
  • String avec separator : Combinez les chaînes avec un séparateur en utilisant str.join().

Pour exemple :

# Convert 'B' column values to a list for each group
df1 = df.groupby('A')['B'].agg(list).reset_index()

# Combine 'B' column values into a string with separator for each group
df2 = df.groupby('A')['B'].agg(','.join).reset_index()
Copier après la connexion

Question 4 : Comment puis-je agréger les comptes ?

Pour compter les valeurs non manquantes dans chaque groupe, utilisez GroupBy.count(). Pour compter toutes les valeurs, y compris celles manquantes, utilisez GroupBy.size().

Par exemple :

# Count non-missing values in 'C' column for each group
df1 = df.groupby('A')['C'].count().reset_index(name='COUNT')

# Count all values in 'A' column for each group
df2 = df.groupby('A').size().reset_index(name='COUNT')
Copier après la connexion

Question 5 : Comment puis-je créer une nouvelle colonne remplie de valeurs agrégées ?

Vous pouvez ajouter une nouvelle colonne contenant les valeurs agrégées en utilisant la méthode transform(). La fonction transform() applique l'opération spécifiée à chaque groupe et renvoie un nouvel objet de la même taille que l'original.

Par exemple :

# Create a new 'C1' column with the sum of 'C' grouped by 'A'
df['C1'] = df.groupby('A')['C'].transform('sum')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal