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!