Top 5 des fonctions Pandas essentielles pour les data scientists [2022]
Publié: 2021-01-02Pandas est clairement l'une des bibliothèques les plus utilisées et les plus appréciées en matière de science des données et d'analyse de données avec Python. Qu'est-ce qui le rend spécial? Dans ce didacticiel, nous passerons en revue 5 de ces fonctions qui font de Pandas un outil extrêmement utile dans la boîte à outils d'un Data Scientist.
À la fin de ce tutoriel, vous aurez la connaissance des fonctions ci-dessous dans Pandas et comment les utiliser pour vos applications :
- value_counts
- par groupe
- loc et iloc
- unique et unique
- Couper et couper
Table des matières
Principales fonctions Pandas pour les scientifiques des données
1. value_counts()
La fonction value_counts() de Pandas est utilisée pour afficher le nombre de tous les éléments uniques dans les colonnes d'une trame de données.
Conseil de pro : Pour démontrer, j'utiliserai l'ensemble de données Titanic.
Maintenant, pour trouver le nombre de classes dans la fonctionnalité Embarked, nous pouvons appeler la fonction value_counts :
train[ 'Embarqué' ].value_counts() |
#Sortir: S644 _ C 168 Q77 _ |
De plus, si ces chiffres n'ont pas beaucoup de sens, vous pouvez afficher leurs pourcentages à la place :
train[ 'Embarqué' ].value_counts(normalize= True ) |
#Sortir: S0.724409 _ C 0,188976 Q 0,086614 |
De plus, value_counts ne considère pas le NaN ou les valeurs manquantes par défaut, ce qui est très essentiel à vérifier. Pour ce faire, vous pouvez définir le paramètre dropna sur false.
train[ 'Embarqué' ].value_counts(dropna= False ) |
#Sortir: S644 _ C 168 Q77 _ NaN2 _ |
2. group_by()
Avec Pandas group_by, nous pouvons diviser et regrouper notre dataframe par certaines colonnes pour pouvoir afficher des modèles et des détails dans les données. Group_by implique 3 étapes principales : fractionner, appliquer et combiner.
train.groupby( 'Sexe' ).mean() |
Sortir:
Comme vous le voyez, nous avons regroupé le bloc de données par la caractéristique «sexe» et agrégé en utilisant les moyens.
Vous pouvez également le tracer à l'aide de la visualisation intégrée de Pandas :
df.groupby( 'Sex' ).sum().plot(kind= 'bar' ) |
Nous pouvons également regrouper en utilisant plusieurs fonctionnalités pour un découpage hiérarchique.
df.groupby([ 'Sex' , 'Survived' ] )[ 'Survived' ].count() |
Doit lire: Questions d'entrevue Pandas
3. loc et iloc
L'indexation dans Pandas est l'une des opérations les plus élémentaires et la meilleure façon de le faire est d'utiliser loc ou iloc. « Loc » signifie emplacement et le « i » signifie emplacement indexé. En d'autres termes, lorsque vous souhaitez indexer une trame de données à l'aide de noms ou d'étiquettes de colonnes/lignes, vous utiliserez loc. Et lorsque vous souhaitez indexer des colonnes ou des lignes à l'aide des positions, vous devez utiliser la fonction iloc. Vérifions d' abord loc .
train.loc[ 2 , 'sexe' ] |
L'opération ci-dessus nous donne l'élément d'index de ligne 2 et de colonne 'sexe'. De même, si vous aviez besoin de toutes les valeurs de la colonne sexe, vous feriez :
train.loc[:, 'sexe' ] |
En outre, vous pouvez filtrer plusieurs colonnes telles que :
train.loc[:, 'sexe' , 'Embarqué' ] |
Vous pouvez également filtrer en utilisant des conditions booléennes dans la loc comme :
train.loc[train.age >= 25 ] |
Pour afficher uniquement certaines lignes, vous pouvez découper la trame de données à l'aide de loc :
train.loc[ 100 : 200 ] |
De plus, vous pouvez découper le dataframe sur l'axe des colonnes comme :
train.loc[:, 'sexe' : 'tarif' ] |
L'opération ci-dessus découpera le dataframe de la colonne 'sex' à 'fare' pour toutes les lignes.
Passons maintenant à iloc. iloc indexe uniquement à l'aide des numéros d'index ou des positions. Vous pouvez découper des dataframes comme :
train.iloc[ 100 : 200 , 2 : 9 ] |
Les opérations ci-dessus découperont les lignes de 100 à 199 et les colonnes de 2 à 8. De même, si vous souhaitez diviser vos données horizontalement, vous pouvez faire :
train.iloc[: 300 , :] |
4. unique() et nunique()
Pandas unique est utilisé pour obtenir toutes les valeurs uniques de n'importe quelle fonctionnalité. Ceci est principalement utilisé pour obtenir les catégories dans les caractéristiques catégorielles des données. Unique affiche toutes les valeurs uniques, y compris les NaN. Il le traite comme une valeur unique différente. Nous allons jeter un coup d'oeil:
train[ 'sexe' ].unique() |
#Sortir: [ 'femelle' , 'mâle' ] |
Comme nous le voyons, cela nous donne les valeurs uniques dans la fonction "sexe".
De même, vous pouvez également vérifier le nombre de valeurs uniques car il peut y avoir beaucoup de valeurs uniques dans certaines fonctionnalités.
train[ 'sexe' ].nunique() |

#Sortir: 2 |
Cependant, vous devez garder à l'esprit que nunique() ne considère pas les NaN comme des valeurs uniques. S'il y a des NaN dans vos données, vous devez passer le paramètre dropna sur False pour vous assurer que Pandas vous donne également le nombre, y compris les NaN.
train[ 'sexe' ].nunique(dropna= False ) |
#Sortir: 3 |
5. coupe() et qcut()
La coupe Pandas est utilisée pour classer les valeurs dans des plages afin de discrétiser les caractéristiques. Plongeons-y. Le regroupement consiste à convertir une caractéristique numérique ou continue en un ensemble discret de valeurs, en fonction des plages de valeurs continues. Cela est pratique lorsque vous souhaitez voir les tendances en fonction de la plage dans laquelle se situe le point de données.
Comprenons cela avec un petit exemple.
Supposons que nous ayons des notes pour 7 enfants allant de 0 à 100. Maintenant, nous pouvons attribuer les notes de chaque enfant à un « casier » particulier.
df = pd.Dataframe(data= { 'Nom' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dew' , 'Vin' ], 'Marques' :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ] }) df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], labels=[ 1 , 2 , 3 ]) |
Ensuite, nous pouvons simplement ajouter la sortie en tant que nouvelle fonctionnalité et la fonctionnalité Marques peut être supprimée. La nouvelle trame de données ressemble à :
#Sortir: Marques de nom marks_bin 0 Ck 37 1 1 Ron 91 3 2 Tapis 66 2 3 Jos 42 1 4 Tim 99 3 5 SypherPK 81 3 6 rosée 45 1 7 Vin 71 3 |
Donc, quand je dis bins = [ 0 , 50 , 70 , 100 ] , cela signifie qu'il y a 3 plages :
0 à 50 pour le bac 1,
51 à 70 pour le bac 2, et
71 à 100 appartenant au bac 3.
Donc, maintenant, notre fonctionnalité ne contient pas les notes mais la plage ou le bac dans lequel se trouvent les notes de cet élève.
Semblable à cut(), Pandas propose également sa fonction sœur appelée qcut() . Pandas qcut prend en compte le nombre de quantiles et divise les points de données de chaque bac en fonction de la distribution des données. Donc, nous pouvons simplement changer la fonction cut ci-dessus en qcut :
df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ]) |
Dans l'opération ci-dessus, nous disons à Pandas de couper la fonctionnalité en 3 parties égales et de leur attribuer les étiquettes. La sortie se présente sous la forme :
Marques de nom marks_bin 0 Ck 37 1 1 Ron 91 3 2 Tapis 66 2 3 Jos 42 1 4 Tim 99 3 5 SypherPK 81 3 6 rosée 45 1 7 Vin 71 2 |
Remarquez comment la dernière valeur est passée de 3 à 2.
Lisez aussi: Pandas Dataframe Astype
Avant que tu partes
Nous avons vu certaines des fonctions Pandas les plus utilisées. Mais ce ne sont pas les seuls qui sont importants et nous vous encourageons à en savoir plus sur les fonctions les plus utilisées par Pandas. C'est une bonne approche efficace car vous n'utilisez peut-être pas toutes les fonctions de Pandas, mais seulement quelques-unes d'entre elles.
Apprenez des cours de science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Pourquoi la bibliothèque Pandas est-elle si populaire ?
Cette bibliothèque est en effet très populaire parmi les scientifiques des données et les analystes de données. La raison en est sa grande prise en charge d'un grand nombre de formats de fichiers et une riche collection de fonctionnalités pour manipuler les données extraites. Il peut facilement s'intégrer à d'autres bibliothèques et packages tels que NumPy.
Cette bibliothèque puissante fournit diverses fonctions utiles pour manipuler d'énormes ensembles de données de manière flexible. Une fois que vous l'avez maîtrisé, vous pouvez facilement réaliser de grandes tâches avec quelques lignes de code.
Qu'est-ce que la fonction de fusion et pourquoi est-elle utilisée ?
La fonction de fusion est une fonction spéciale de la trame de données Pandas qui est utilisée pour fusionner plusieurs lignes ou colonnes de 2 trames de données. Il s'agit d'une opération de jointure à mémoire élevée qui ressemble aux bases de données relationnelles. Vous pouvez utiliser on = Column Name pour fusionner des blocs de données sur la colonne commune.
Vous pouvez mettre à jour left_on = Column Name ou right_on = Column Name pour aligner les tables en utilisant les colonnes du bloc de données gauche ou droit comme clés.
En dehors de la bibliothèque Pandas, quelles sont les autres bibliothèques Python pour la science des données ?
Outre la bibliothèque Pandas, de nombreuses bibliothèques Python sont considérées comme l'une des meilleures bibliothèques pour la science des données. Ceux-ci incluent PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy et bien d'autres. Chacun d'eux est largement utilisé pour ses caractéristiques et fonctions uniques et étonnantes.
Chaque bibliothèque a sa propre signification, comme SciKit Learn est plus souvent utilisé lorsque vous devez traiter des données statistiques. Outre l'analyse des données, vous pouvez également créer des tableaux de bord et des rapports visuels à l'aide des fonctions fournies par ces incroyables bibliothèques.