Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment effectuer un regroupement de données en Python : avec des exemples



Vous pouvez utiliser la syntaxe de base suivante pour effectuer un regroupement de données sur un DataFrame pandas :

import pandas as pd

#perform binning with 3 bins
df['new_bin'] = pd.qcut(df['variable_name'], q=3)

Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [4, 4, 7, 8, 12, 13, 15, 18, 22, 23, 23, 25],
                   'assists': [2, 5, 4, 7, 7, 8, 5, 4, 5, 11, 13, 8],
                   'rebounds': [7, 7, 4, 6, 3, 8, 9, 9, 12, 11, 8, 9]})

#view DataFrame
print(df)

    points  assists  rebounds
0        4        2         7
1        4        5         7
2        7        4         4
3        8        7         6
4       12        7         3
5       13        8         8
6       15        5         9
7       18        4         9
8       22        5        12
9       23       11        11
10      23       13         8
11      25        8         9

Exemple 1 : Effectuer un regroupement de données de base

Le code suivant montre comment effectuer un regroupement de données sur la variable points à l’aide de la fonction qcut() avec des marques de rupture spécifiques :

#perform data binning on points variable
df['points_bin'] = pd.qcut(df['points'], q=3)

#view updated DataFrame
print(df)

    points  assists  rebounds        points_bin
0        4        2         7   (3.999, 10.667]
1        4        5         7   (3.999, 10.667]
2        7        4         4   (3.999, 10.667]
3        8        7         6   (3.999, 10.667]
4       12        7         3  (10.667, 19.333]
5       13        8         8  (10.667, 19.333]
6       15        5         9  (10.667, 19.333]
7       18        4         9  (10.667, 19.333]
8       22        5        12    (19.333, 25.0]
9       23       11        11    (19.333, 25.0]
10      23       13         8    (19.333, 25.0]
11      25        8         9    (19.333, 25.0]

Notez que chaque ligne du bloc de données a été placée dans l’un des trois groupes en fonction de la valeur de la colonne de points.

Nous pouvons utiliser la fonction value_counts() pour trouver combien de lignes ont été placées dans chaque bac :

#count frequency of each bin
df['points_bin'].value_counts()

(3.999, 10.667]     4
(10.667, 19.333]    4
(19.333, 25.0]      4
Name: points_bin, dtype: int64

On peut voir que chaque bin contient 4 observations.

Exemple 2 : Effectuer un regroupement de données avec des quantiles spécifiques

Nous pouvons également effectuer un regroupement de données en utilisant des quantiles spécifiques :

#perform data binning on points variable with specific quantiles
df['points_bin'] = pd.qcut(df['points'], q=[0, .2, .4, .6, .8, 1])

#view updated DataFrame
print(df)

    points  assists  rebounds    points_bin
0        4        2         7  (3.999, 7.2]
1        4        5         7  (3.999, 7.2]
2        7        4         4  (3.999, 7.2]
3        8        7         6   (7.2, 12.4]
4       12        7         3   (7.2, 12.4]
5       13        8         8  (12.4, 16.8]
6       15        5         9  (12.4, 16.8]
7       18        4         9  (16.8, 22.8]
8       22        5        12  (16.8, 22.8]
9       23       11        11  (22.8, 25.0]
10      23       13         8  (22.8, 25.0]
11      25        8         9  (22.8, 25.0]

Exemple 3 : Effectuer un regroupement de données avec des étiquettes

Nous pouvons également effectuer un regroupement de données en utilisant des quantiles et des étiquettes spécifiques :

#perform data binning on points variable with specific quantiles and labels
df['points_bin'] = pd.qcut(df['points'],
                           q=[0, .2, .4, .6, .8, 1],
                           labels=['A', 'B', 'C', 'D', 'E'])

#view updated DataFrame
print(df)

    points  assists  rebounds points_bin
0        4        2         7          A
1        4        5         7          A
2        7        4         4          A
3        8        7         6          B
4       12        7         3          B
5       13        8         8          C
6       15        5         9          C
7       18        4         9          D
8       22        5        12          D
9       23       11        11          E
10      23       13         8          E
11      25        8         9          E

Notez que chaque ligne s’est vu attribuer un bac en fonction de la valeur de la colonne de points et que les bacs ont été étiquetés à l’aide de lettres.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : comment utiliser la fonction value_counts()
Pandas : Comment créer un tableau croisé dynamique avec le nombre de valeurs
Pandas : comment compter les occurrences de valeur spécifique dans une colonne

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *