Maison >développement back-end >Tutoriel Python >Comment puis-je regrouper une colonne Pandas DataFrame et compter les valeurs dans chaque bac ?

Comment puis-je regrouper une colonne Pandas DataFrame et compter les valeurs dans chaque bac ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-16 19:21:12782parcourir

How Can I Bin a Pandas DataFrame Column and Count Values in Each Bin?

Regrouper une colonne avec des pandas

La manipulation des données implique souvent d'organiser les valeurs en groupes ou compartiments significatifs. Dans ce contexte, nous allons explorer comment regrouper une colonne avec des valeurs numériques à l'aide de pandas.

Question :

Étant donné une colonne de bloc de données avec des valeurs numériques, nous souhaitons visualisez-le sous forme de bacs avec des comptes de valeurs. Plus précisément, comment pouvons-nous déterminer le nombre de valeurs qui entrent dans chaque bac ?

Réponse :

Option 1 : Utiliser pandas.cut

La fonction pandas.cut peut être utilisée pour créer des bacs. Voici un exemple :

import pandas as pd

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
df['binned'].value_counts()

Cela créera des bacs en fonction des intervalles spécifiés et renverra une série contenant les affectations de bacs pour chaque valeur. En utilisant value_counts, nous pouvons compter le nombre d'occurrences dans chaque bac.

Option 2 : Utiliser numpy.searchsorted

Une autre approche consiste à utiliser numpy.searchsorted :

import numpy as np

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = np.searchsorted(bins, df['percentage'].values)
df['binned'].value_counts()

Cette fonction renvoie l'index du premier bac auquel appartient chaque valeur. Nous pouvons ensuite utiliser value_counts pour déterminer le nombre de bacs.

Option 3 : Combiner Groupby et Size

Nous pouvons également utiliser les méthodes groupby et size des pandas :

s = df.groupby(pd.cut(df['percentage'], bins)).size()

Cela regroupera le bloc de données par affectations de casiers et renverra une série avec le nombre de valeurs dans chacun bin.

Conclusion :

Ces méthodes nous permettent de classer efficacement une colonne numérique et d'obtenir le nombre de valeurs pour chaque bac, fournissant ainsi un aperçu de la distribution des valeurs.

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!

Déclaration:
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