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 trouver la valeur maximale par groupe chez Pandas



Souvent, vous souhaiterez peut-être trouver la valeur maximale par groupe dans un DataFrame pandas.

Heureusement, cela est facile à faire en utilisant les fonctions groupby() et max() avec la syntaxe suivante :

df.groupby('column_name').max()

Ce tutoriel explique plusieurs exemples d’utilisation pratique de cette fonction à l’aide du DataFrame pandas suivant :

import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'points':[24, 23, 27, 11, 14, 8, 13],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#display DataFrame
print(df)

  team  points  rebounds
0    A      24        11
1    A      23         8
2    B      27         7
3    B      11         6
4    B      14         6
5    C       8         5
6    C      13        12

Exemple 1 : valeur maximale de plusieurs colonnes regroupées par une variable

Le code suivant montre comment trouver la valeur maximale de plusieurs colonnes, regroupées par une variable dans un DataFrame :

#find max values of points and rebounds, grouped by team
df.groupby('team').max().reset_index()


        team	points	rebounds
0	A	24	11
1	B	27	7
2	C	13	12

D’après le résultat, nous pouvons voir que :

  • L’équipe A a une valeur maximale de points de 24 et une valeur maximale de rebonds de 11.
  • L’équipe B a une valeur maximale de points de 27 et une valeur maximale de rebonds de 7.
  • L’équipe C a une valeur maximale de points de 13 et une valeur maximale de rebonds de 12.

Notez que nous avons utilisé la fonction reset_index() pour garantir que l’index correspond à l’index du DataFrame d’origine.

Exemple 2 : valeur maximale d’une seule colonne regroupée par une variable

Le code suivant montre comment trouver la valeur maximale d’une seule colonne, regroupée sur une seule variable :

#find max value of points, grouped by team
df.groupby('team')['points'].max().reset_index()

        team	points
0	A	24
1	B	27
2	C	13

Exemple 3 : Trier par valeurs maximales

Nous pouvons également utiliser la fonction sort_values() pour trier les valeurs maximales.

Nous pouvons spécifier ascending=False pour trier du plus grand au plus petit :

#find max value by team, sort descending
df.groupby('team')['points'].max().reset_index().sort_values(['points'], ascending=False)


        team	points
1	B	27
0	A	24
2	C	13

Ou nous pouvons spécifier ascending=True pour trier du plus petit au plus grand :

#find max value by team, sort ascending 
df.groupby('team')['points'].max().reset_index().sort_values(['points'], ascending=True) 

        team	points
2	C	13
0	A	24
1	B	27

Ressources additionnelles

Comment calculer la somme des colonnes dans Pandas
Comment calculer la moyenne des colonnes dans Pandas
Comment trouver la valeur maximale des colonnes dans Pandas

Ajouter un commentaire

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