Maîtriser les pandas : fonctions importantes des pandas pour votre prochain projet
Publié: 2020-11-30La bibliothèque Pandas est un favori de tous les temps pour tous les scientifiques ou analystes de données en raison de sa nature facile à utiliser, d'un large éventail de fonctionnalités et d'une meilleure interprétation des résultats. Il est conseillé à toute personne commençant son parcours en science des données d'avoir une bonne maîtrise des pandas, de proposer des pipelines pour réduire l'effort manuel de nettoyage et de prétraitement des données.
Pandas est construit sur Numpy, ce qui permet une exécution plus rapide des commandes et de faire le travail en moins de temps. Dans cet article, nous partagerons certaines fonctions pandas sous-estimées qui peuvent enrichir la qualité du code de votre projet.
Avant d'aller plus loin, voici une petite légende :
- Toutes les commandes mentionnées supposent que la trame de données est nommée 'df' qui est un objet de pd.DataFrame()
- La bibliothèque Pandas a été importée en tant qu'alias en tant que 'pd'.
Table des matières
Accessoires de cordes
Les données de chaîne ou de texte contribuent en grande partie à un ensemble de données. Qu'il s'agisse d'informations relatives à l'auteur, au titre, à la publication d'un livre ou aux tweets créés pour un hashtag particulier, nous avons beaucoup de données textuelles et ces données sont utiles lorsqu'elles sont nettoyées correctement et alimentent n'importe quel classificateur comme Naive Bayes, etc. Voici quelques astuces que vous pouvez appliquer :
- Pour accéder aux données de type chaîne, utilisez l'accesseur 'str'. Par exemple, df['nom_colonne'].str
- Cela permet de faire toutes les opérations de chaîne sur la colonne sélectionnée.
- Certaines opérations courantes incluent,
- df['column_name'].str.len() : longueur de chaque chaîne
- .str.split() : Fractionnement à un caractère particulier
- .str.contains() : renvoie T/F pour savoir si le mot particulier est présent dans la chaîne
- .str.count() : renvoie le nombre de lignes satisfaisant l'expression régulière transmise.
- .str.findall() : Renvoie les résultats qui correspondent à l'expression passée.
- .str.replace () : Identique à findall mais ici le remplacement des éléments correspondants se produit
- Toutes les opérations de chaîne telles que .title, .isalpha, .isalnum, .isdecimal, etc. sont prises en charge.
Lisez aussi: Pandas Dataframe Astype
Accesseurs DateHeure
Les dates et l'heure sont généralement présentes dans les ensembles de données sous la forme d'horodatages, d'heure de début, d'heure de fin ou de toute autre heure associée à cet événement. Il est utile d'analyser correctement ces données car elles donnent des tendances le long d'une chronologie qui peuvent être utilisées pour prédire des événements futurs ou nous les appelons citer comme analyse de séries chronologiques. Voyons quelques commandes utiles :
- Pour accéder aux données DateTime, convertissez le type de données actuel (les valeurs de date sont analysées en tant que chaîne ou objet) en DateTime à l'aide de la fonction pd.to_datetime().
- Maintenant, en utilisant l'accesseur '.dt', nous pouvons accéder à toutes les informations DateTime requises telles que :
- df['column_name'].dt.day : renvoie le jour de la date.
- .dt.time : heure
- .dt.year : Année de la date
- .dt.month : Mois de la date
- .dt.weekday : Que ce soit dimanche, lundi… sous la forme numérique où 0 représente lundi. Si vous voulez des noms de jours, utilisez .dt.day_name
- .dt.is_month_start : Renvoie T/F selon que la date est le premier du mois.
- .dt.is_month_end Même fonctionnalité que month_start mais ici la dernière date du mois est vérifiée.
- .dt.quater : renvoie dans quel trimestre se situe la date
- .dt.is_quater_start : renvoie T/F si la date est le premier jour du trimestre
- .dt.is_quater_end : s'il s'agit du dernier jour du trimestre
- .dt.normalize : Lorsque la composante temporelle n'ajoute pas une contribution valable à l'analyse, elle peut être ignorée. Cette commande arrondit l'heure à minuit, c'est-à-dire 00:00:00.
Pandas complotant
Le traçage des visualisations est l'un des composants clés de l'analyse de données et joue un rôle majeur lors de l'exécution de l'ingénierie des fonctionnalités. Par exemple, les valeurs aberrantes dans un ensemble de données peuvent être détectées à l'aide de diagrammes en boîte qui représentent la plage médiane et interquartile, laissant les valeurs aberrantes aux extrémités.

Le traçage se fait principalement via d'autres bibliothèques telles que seaborn, plotly, bokeh, matplotlib, mais quand voulez-vous visualiser instantanément les données sans définir explicitement les bibliothèques ? Les pandas ont la solution. À l'aide de la fonction pd.plot(), vous pouvez directement tracer des graphiques appelés en interne à l'aide de matplotlib. Différentes options disponibles pour cela :
- df.plot() ou df['column_name'].plot() (selon le type de graphique)
- df.plot() a le paramètre 'kind' qui définit le graphique. Par défaut, il s'agit d'un tracé en 'ligne' mais les autres options disponibles sont 'bar', 'barh', 'box', 'hist', 'kde' etc.
- Il invoque le backend matplotlib, ce qui signifie que nous pouvons accéder à ses arguments via un accesseur 'ax'.
- La fonction .plot() peut également prendre des arguments tels que 'title', 'xticks', 'xlim', 'xlabel', 'fontsize', 'colormap', ce qui élimine dans une certaine mesure le besoin de définir des bibliothèques externes.
Fonctions diverses
- pd.get_dummies() : lors du prétraitement des données, nous rencontrons parfois des données catégorielles qui doivent être converties sous forme numérique pour être introduites dans le modèle. Lorsque ces catégories sont assez faibles, l'encodage à chaud est préféré, mais le faire manuellement prend du temps. Cette fonction factice transforme non seulement les valeurs mais, si drop_first est défini sur True, supprime la colonne précédente contenant toutes les catégories.
- df.query() : C'est la fonction qui vous permet d'appliquer le masque conditionnel sur la trame de données. La différence fondamentale entre ce masquage et le masquage normal est que cette fonction renvoie directement les valeurs au lieu du masque booléen, ce qui réduit l'effort de création du masque et de son application au bloc de données.
- df.select_dtypes() : Parfois, nous devons effectuer des tâches spécifiques sur un type de type de données. Par exemple, lors de la lecture de données à partir de fichiers externes, certains types de données sont définis comme des objets. Lors du nettoyage des données, l'ensemble de données doit avoir tous les types de données corrects, et le faire manuellement par df.astype('data-type') serait fastidieux lorsque le nombre de ces types de données est important. Cette fonction sélectionne le type de données spécifié et peut être combinée avec la fonction .apply(). Un exemple de code ressemblerait à ceci :
df.select_dtypes(objet).apply(astype(str))
Doit lire: Questions d'entrevue Pandas
Conclusion
Cette affectation est appelée chaînage, et il est très courant lors des tâches de science des données de réduire l'effort de définition des variables pour chaque étape à effectuer.
Si vous êtes curieux d'en savoir plus sur les pandas, consultez le diplôme PG de IIIT-B & upGrad en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1-on -1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.
