"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment arranger efficacement une colonne de pandas et compter les valeurs dans chaque bac?

Comment arranger efficacement une colonne de pandas et compter les valeurs dans chaque bac?

Publié le 2025-02-06
Parcourir:479

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

Binning une colonne avec des pandas

Dans l'analyse des données, il est souvent utile de mettre des données dans les catégories pour simplifier sa représentation et sa analyse. Il s'agit d'une technique courante lorsque vous travaillez avec des données numériques, comme lorsque vous traitez avec des pourcentages.

Supposons que nous ayons une colonne de trame 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 arranger 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:

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

en utilisant np.searchsorted et groupby:

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

Les deux méthodes renverront la sortie suivante:

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 pas de valeurs dans les bacs (0, 1], (1, 5], (5, 10] et (10, 25]. Trois valeurs tombent dans le Bin (25, 50], et une valeur tombe dans le bac (50, 100].

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3