Maison >développement back-end >Tutoriel Python >Comment regrouper efficacement une colonne Pandas et compter les valeurs dans chaque bac ?
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!