30 commandes pandas pour manipuler des DataFrames
Lisez et écrivez des données sur des feuilles Excel, modifiez des DataFrames dans une seule ligne de code, supprimez toutes les lignes contenant des valeurs nulles... vous pouvez tout faire avec des pandas.
La bibliothèque pandas facilite la science des données basée sur Python. Il s'agit d'une bibliothèque Python populaire pour lire, fusionner, trier, nettoyer des données, etc. Bien que pandas soit facile à utiliser et à appliquer sur des ensembles de données, il possède de nombreuses fonctions de manipulation de données à apprendre.
Vous utilisez peut-être des pandas, mais il y a de fortes chances que vous les sous-utilisiez pour résoudre des problèmes liés aux données. Voici notre liste de fonctions précieuses de manipulation de données sur les pandas que tout data scientist devrait connaître.
Installez des pandas dans votre environnement virtuel
Avant de continuer, assurez-vous d'installer pandas dans votre environnement virtuel à l'aide de pip :
pip install pandas
Après l'avoir installé, importez pandas en haut de votre script et continuons.
1. pandas.DataFrame
Vous utilisez pandas.DataFrame() pour créer un DataFrame dans pandas. Il existe deux manières d'utiliser cette fonction.
Vous pouvez former un DataFrame par colonne en passant un dictionnaire dans la fonction pandas.DataFrame(). Ici, chaque clé est une colonne, tandis que les valeurs sont les lignes :
import pandas
DataFrame = pandas.DataFrame({"A" : [1, 3, 4], "B": [5, 9, 12]})
print(DataFrame)
L'autre méthode consiste à former le DataFrame sur plusieurs lignes. Mais ici, vous séparerez les valeurs (éléments de ligne) des colonnes. Le nombre de données dans chaque liste (données de ligne) doit également correspondre au nombre de colonnes.
import pandas
DataFrame = pandas.DataFrame([[1, 4, 5], [7, 19, 13]], columns= ["J", "K", "L"])
print(DataFrame)
2. Lire et écrire sur Excel ou CSV dans pandas
Vous pouvez lire ou écrire dans des fichiers Excel ou CSV avec pandas.
Lecture de fichiers Excel ou CSV
Pour lire un fichier Excel :
<strong>#Replace example.xlsx with the your Excel file path</strong>
DataFrame = DataFrame.read_excel("example.xlsx")
Voici comment lire un fichier CSV :
<strong>#Replace example.csv with the your CSV file path</strong>
DataFrame = DataFrame.read_csv("example.csv")
Écrire sur Excel ou CSV
Écrire sur Excel ou CSV est une opération pandas bien connue. Et c'est pratique pour enregistrer les tableaux nouvellement calculés dans des feuilles de données distinctes.
Pour écrire sur une feuille Excel :
DataFrame.to_excel("full_path_of_the_destination_folder/filename.xlsx")
Si vous souhaitez écrire au format CSV :
DataFrame.to_csv("full_path_of_the_destination_folder/filename.csv")
3. Obtenez la moyenne, la médiane et le mode
Vous pouvez également calculer les tendances centrales de chaque colonne d'un DataFrame à l'aide de pandas.
Voici comment obtenir la valeur moyenne de chaque colonne :
DataFrame.mean()Pour la valeur médiane ou mode, remplacez mean() par median() ou mode().
4. DataFrame.transform
Le DataFrame.transform() de pandas modifie les valeurs d'un DataFrame. Il accepte une fonction comme argument.
Par exemple, le code ci-dessous multiplie chaque valeur d'un DataFrame par trois à l'aide de la fonction lambda de Python :
DataFrame = DataFrame.transform(lambda y: y*3)
print(DataFrame)5. DataFrame.isnull
Cette fonction renvoie une valeur booléenne et marque toutes les lignes contenant des valeurs nulles comme Vrai :
DataFrame.isnull()
Le résultat du code ci-dessus peut être difficile à lire pour des ensembles de données plus volumineux. Vous pouvez donc utiliser la fonction isnull().sum() à la place. Cela renvoie un résumé de toutes les valeurs manquantes pour chaque colonne :
DataFrame.isnull().sum()
6. Dataframe.info
La fonction info() est une opération pandas essentielle. Il renvoie à la place le résumé des valeurs non manquantes pour chaque colonne :
DataFrame.info()
7. DataFrame.describe
La fonction describe() vous donne la statistique récapitulative d'un DataFrame :
DataFrame.describe()
8. DataFrame.replace
À l'aide de la méthode DataFrame.replace() dans pandas, vous pouvez remplacer les lignes sélectionnées par d'autres valeurs.
Par exemple, pour échanger des lignes non valides avec Nan :
<strong># Ensure that you pip install numpy for this to work</strong>
import numpy
import pandas
<strong># Adding an inplace keyword and setting it to True makes the changes permanent:</strong>
DataFrame.replace([invalid_1, invalid_2], numpy.nan, inplace=True)
print(DataFrame)
9. DataFrame.fillna
Cette fonction vous permet de remplir des lignes vides avec une valeur particulière. Vous pouvez remplir toutes les lignes Nan d'un ensemble de données avec la valeur moyenne, par exemple :
DataFrame.fillna(df.mean(), inplace = True)
print(DataFrame)
Vous pouvez également être spécifique à une colonne :
DataFrame['column_name'].fillna(df[column_name].mean(), inplace = True)
print(DataFrame)
10. DataFrame.dropna
La méthode dropna() supprime toutes les lignes contenant des valeurs nulles :
DataFrame.dropna(inplace = True)
print(DataFrame)
11. DataFrame.insert
Vous pouvez utiliser la fonction insert() de pandas pour ajouter une nouvelle colonne à un DataFrame. Il accepte trois mots-clés, le nom de la colonne, une liste de ses données et son emplacement, qui est un index de colonne.
Voici comment cela fonctionne :
DataFrame.insert(column = 'C', value = [3, 4, 6, 7], loc=0)
print(DataFrame)
Le code ci-dessus insère la nouvelle colonne à l'index de colonne zéro (elle devient la première colonne).
12. DataFrame.loc
Vous pouvez utiliser loc pour rechercher les éléments dans un index particulier. Pour afficher tous les éléments de la troisième ligne, par exemple :
DataFrame.loc[2]
13. DataFrame.pop
Cette fonction vous permet de supprimer une colonne spécifiée d'un DataFrame pandas.
Il accepte un mot-clé item, renvoie la colonne sautée et la sépare du reste du DataFrame :
DataFrame.pop(item= 'column_name')
print(DataFrame)
14. DataFrame.max, min
Obtenir les valeurs maximales et minimales à l'aide de pandas est simple :
DataFrame.min()
Le code ci-dessus renvoie la valeur minimale pour chaque colonne. Pour obtenir le maximum, remplacez min par max.
15. DataFrame.join
La fonction join() de pandas vous permet de fusionner des DataFrames avec des noms de colonnes différents. Vous pouvez utiliser la jointure gauche, droite, interne ou externe. Pour rejoindre à gauche un DataFrame avec deux autres :
#Left-join longer columns with shorter ones
newDataFrame = df1.join([df_shorter2, df_shorter3], how='left')
print(newDataFrame)
Pour joindre des DataFrames avec des noms de colonnes similaires, vous pouvez les différencier en incluant un suffixe à gauche ou à droite. Pour ce faire, incluez le mot-clé lsuffix ou rsuffix :
newDataFrame = df1.join([df2, rsuffix='_', how='outer')
print(newDataFrame)
16. DataFrame.combine
La fonction combine() est pratique pour fusionner deux DataFrames contenant des noms de colonnes similaires en fonction de critères définis. Il accepte un mot-clé function.
Par exemple, pour fusionner deux DataFrames avec des noms de colonnes similaires en fonction des valeurs maximales uniquement :
newDataFrame = df.combine(df2, numpy.minimum)
print(newDataFrame)
Remarque : Vous pouvez également définir une fonction de sélection personnalisée et insérer numpy.minimum.
17. DataFrame.astype
La fonction astype() modifie le type de données d'une colonne ou d'un DataFrame particulier.
Pour changer toutes les valeurs d'un DataFrame en chaîne, par exemple :
DataFrame.astype(str)
18. DataFrame.sum
La fonction sum() dans pandas renvoie la somme des valeurs de chaque colonne :
DataFrame.sum()
Vous pouvez également trouver la somme cumulée de tous les éléments en utilisant cumsum() :
DataFrame.cumsum()
19. DataFrame.drop
La fonction drop() de pandas supprime des lignes ou des colonnes spécifiques dans un DataFrame. Vous devez fournir les noms de colonnes ou l'index de ligne et un axe pour l'utiliser.
Pour supprimer des colonnes spécifiques, par exemple :
df.drop(columns=['colum1', 'column2'], axis=0)
Pour supprimer des lignes sur les index 1, 3 et 4, par exemple :
df.drop([1, 3, 4], axis=0)
20. DataFrame.corr
Vous voulez trouver la corrélation entre des colonnes entières ou flottantes ? pandas peut vous aider à y parvenir en utilisant la fonction corr() :
DataFrame.corr()
Le code ci-dessus renvoie un nouveau DataFrame contenant la séquence de corrélation entre toutes les colonnes entières ou flottantes.
21. DataFrame.ajouter
La fonction add() vous permet d'ajouter un nombre spécifique à chaque valeur dans DataFrame. Il fonctionne en parcourant un DataFrame et en opérant sur chaque élément.
Pour ajouter 20 à chacune des valeurs d'une colonne spécifique contenant des entiers ou des flottants, par exemple :
DataFrame['interger_column'].add(20)
22. DataFrame.sub
Comme pour la fonction d'addition, vous pouvez également soustraire un nombre à chaque valeur d'un DataFrame ou d'une colonne spécifique :
DataFrame['interger_column'].sub(10)
23. DataFrame.mul
Il s'agit d'une version de multiplication de la fonction d'addition des pandas :
DataFrame['interger_column'].mul(20)
24. DataFrame.div
De même, vous pouvez diviser chaque point de données dans une colonne ou un DataFrame par un nombre spécifique :
DataFrame['interger_column'].div(20)
25. DataFrame.std
À l'aide de la fonction std(), pandas vous permet également de calculer l'écart type pour chaque colonne d'un DataFrame. Il fonctionne en parcourant chaque colonne d'un ensemble de données et en calculant l'écart type pour chacune :
DataFrame.std()
26. DataFrame.sort_values
Vous pouvez également trier les valeurs par ordre croissant ou décroissant en fonction d'une colonne particulière. Pour trier un DataFrame par ordre décroissant, par exemple :
newDataFrame = DataFrame.sort_values(by = "colmun_name", descending = True)
27. DataFrame.melt
La fonction melt() dans pandas retourne les colonnes d'un DataFrame en lignes individuelles. C'est comme exposer l'anatomie d'un DataFrame. Il vous permet donc de visualiser explicitement la valeur attribuée à chaque colonne.
newDataFrame = DataFrame.melt()
28. DataFrame.count
Cette fonction renvoie le nombre total d'éléments dans chaque colonne :
DataFrame.count()29. DataFrame.query
La query() de pandas vous permet d'appeler des éléments en utilisant leur numéro d'index. Pour obtenir les éléments de la troisième ligne, par exemple :
DataFrame.query('4') <strong># Call the query on the fourth index</strong>
30. DataFrame.où
La fonction where() est une requête pandas qui accepte une condition pour obtenir des valeurs spécifiques dans une colonne. Par exemple, pour obtenir tous les âges inférieurs à 30 ans à partir d'une colonne Âge :
DataFrame.where(DataFrame['Age'] < 30)
Le code ci-dessus génère un DataFrame contenant tous les âges inférieurs à 30 ans mais attribue Nan aux lignes qui ne remplissent pas la condition.
Gérez les données comme un pro avec les pandas
pandas est un trésor de fonctions et de méthodes permettant de gérer des ensembles de données de petite à grande échelle avec Python. La bibliothèque est également utile pour nettoyer, valider et préparer les données à des fins d'analyse ou d'apprentissage automatique.
Prendre le temps de le maîtriser vous facilite définitivement la vie en tant que data scientist, et cela en vaut la peine. N'hésitez donc pas à récupérer toutes les fonctions que vous pouvez gérer.
