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
Susan Sarandonoriginal
2024-12-09 19:17:17335parcourir

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

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())

Utiliser np.searchsorted et groupby :

df['binned'] = np.searchsorted(bins, df['percentage'].values)
print(df.groupby(df['binned']).size())

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

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!

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