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

Comment regrouper efficacement une colonne Pandas et compter les valeurs dans chaque bac ?

Susan Sarandon
Libérer: 2024-12-09 19:17:17
original
337 Les gens l'ont consulté

How to Efficiently Bin a Pandas Column and Count Values in Each Bin?

Regrouper une colonne avec des pandas

Dans l'analyse des données, il est souvent utile de regrouper les données en catégories pour simplifier leur représentation et leur analyse. Il s'agit d'une technique courante lorsque l'on travaille avec des données numériques, par exemple lorsqu'il s'agit de pourcentages.

Supposons que nous ayons une colonne de bloc de données nommée « pourcentage » contenant des valeurs numériques, comme indiqué ci-dessous :

df['percentage'].head()
46.5
44.2
100.0
42.12
Copier après la connexion

Pour regrouper cette colonne et obtenir le nombre de valeurs pour chaque bac, nous pouvons utiliser la fonction pd.cut. Voici deux façons d'y parvenir :

Utiliser pd.cut avec value_counts :

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
print(df.groupby(df['binned']).size())
Copier après la connexion

Utiliser np.searchsorted et groupby :

df['binned'] = np.searchsorted(bins, df['percentage'].values)
print(df.groupby(df['binned']).size())
Copier après la connexion

Les deux méthodes renverront ce qui suit sortie :

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64
Copier après la connexion

Cette sortie indique qu'il n'y a aucune valeur dans les bacs (0, 1], (1, 5], (5, 10] et (10, 25). Trois valeurs tombent dans le bac (25, 50], et une valeur tombe dans le bac (50, 100).

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