Obtenez les valeurs uniques Pandas en colonne et triez-les

  1. Obtenir des valeurs uniques dans la colonne de Pandas DataFrame avec la méthode unique
  2. Obtenir des valeurs uniques dans la colonne de Pandas DataFrame avec la méthode drop_duplicates
  3. Trier une colonne dans Pandas DataFrame

Cet article présente la façon d’obtenir des valeurs uniques dans la colonne Pandas DataFrame.

Par exemple, supposons que nous ayons un DataFrame composé d’individus et de leurs professions, et que nous voulions connaître le nombre total de professions. Dans ce cas, nous ne pouvons pas simplement utiliser le nombre total de lignes pour déterminer le total des professions uniques, car de nombreuses personnes peuvent avoir le même emploi. Pour de telles situations, nous pouvons utiliser les fonctions unique() et drop_duplicates() fournies par la bibliothèque Pandas.

Il est également important de savoir comment trier votre DataFrame, car elle peut aider à visualiser et à comprendre les données. Les fonctions sorted() et sort_values() peuvent aider à réaliser cela.

Nous allons trier et supprimer le DataFrame suivant dans ce tutoriel.

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[7,1,5,4,2,1,4,4,8],'B':[1,2,8,5,3,4,2,6,8]})

print(df)

Production :

   A  B
0  7  1
1  1  2
2  5  8
3  4  5
4  2  3
5  1  4
6  4  2
7  4  6
8  8  8

Obtenir des valeurs uniques dans la colonne de Pandas DataFrame avec la méthode unique

La méthode Pandas Series unique() est utilisée lorsque nous traitons une seule colonne d’un DataFrame et retourne tous les éléments uniques d’une colonne. La sortie finale utilisant la fonction unique() est un tableau.

Exemple :

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[7,1,5,4,2,1,4,4,8],'B':[1,2,8,5,3,4,2,6,8]})

print(df['A'].unique())
print(type(df['A'].unique()))

Production :

[7 1 5 4 2 8]
numpy.ndarray

Obtenir des valeurs uniques dans la colonne de Pandas DataFrame avec la méthode drop_duplicates

drop_duplicates() peut être appliqué au DataFrame ou à son sous-ensemble et préserve le type de l’objet DataFrame. Elle est également considérée comme une option plus rapide lorsqu’il s’agit de traiter d’énormes ensembles de données pour supprimer les valeurs dupliquées.

Exemple :

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[7,1,5,4,2,1,4,4,8],'B':[1,2,8,5,3,4,2,6,8]})

print(df.drop_duplicates(subset = "A"))
print(type(df.drop_duplicates(subset = "A")))

Production :

   A  B
0  7  1
1  1  2
2  5  8
3  4  5
4  2  3
8  8  8
pandas.core.frame.DataFrame

Trier une colonne dans Pandas DataFrame

Nous pouvons utiliser la méthode sorted() pour trier une colonne, mais elle convertit le résultat final en un objet de type liste. Nous pouvons également trier les valeurs des colonnes par ordre décroissant en mettant le paramètre reversed comme True.

L’exemple suivant trie la colonne en ordre croissant et supprime les valeurs en double :

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[7,1,5,4,2,1,4,4,8],'B':[1,2,8,5,3,4,2,6,8]})

df_new = df.drop_duplicates(subset = "A")

print(sorted(df_new['A']))
print(type(sorted(df_new['A'])))

Production :

[1, 2, 4, 5, 7, 8]
list

sort_values() est une autre option flexible pour trier un DataFrame. Ici, nous pouvons spécifier la colonne à trier en utilisant le paramètre by et si l’ordre est ascendant ou descendant en utilisant le paramètre ascending. Cela préserve le type d’objet comme Pandas DataFrame.

L’exemple suivant trie la colonne par ordre décroissant et supprime les valeurs en double :

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[7,1,5,4,2,1,4,4,8],'B':[1,2,8,5,3,4,2,6,8]})

df_new = df.drop_duplicates(subset = "A")

print(df_new.sort_values(by = 'A', ascending = False))
type(df_new.sort_values(by = 'A'))

Production :

   A  B
8  8  8
0  7  1
2  5  8
3  4  5
4  2  3
1  1  2
pandas.core.frame.DataFrame

Article connexe - Pandas DataFrame

  • Ecrire un Pandas DataFrame en CSV
  • Définir les colonnes comme un index dans Pandas DataFrame