10 fonctionnalités pour accélérer l'analyse des données en Python

Source

Des trucs et astuces, en particulier dans la programmation, peuvent être très utiles. Un petit shotcat, un addon ou un hack peut économiser une tonne de temps et augmenter considérablement la productivité. J'ai rassemblé mes préférées et en ai fait cet article. Certains des conseils ci-dessous sont déjà connus de beaucoup, et certains sont apparus récemment. D'une manière ou d'une autre, je suis sûr qu'ils ne seront certainement pas superflus lorsque vous vous lancerez à nouveau dans un projet d'analyse de données.


1. Profilage de la trame de données Pandas


Le profilage vous aide à mieux comprendre nos données, et le package de profilage Pandas a été créé juste pour cela. La bibliothèque offrira la possibilité d'effectuer facilement et rapidement une analyse exploratoire du cadre de données Pandas. En règle générale, dans de tels cas, les fonctions df.describe () et df.info () sont utilisées comme première étape, mais elles rapportent peu et fonctionnent mal avec des ensembles de données volumineux. Une ligne de code utilisant Pandas Profiling , en revanche, produira un grand nombre d'informations dans un rapport HTML interactif.


Voici ce qui est calculé pour un ensemble de données donné:


Production de statistiques par Pandas Profiling.

L'installation


pip install pandas-profiling  conda install -c anaconda pandas-profiling 

Utiliser


Utilisons l'ensemble de données Titanic Passenger pour présenter le profileur.


 #    import pandas as pd import pandas_profiling 

 df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df) 

C'est tout ce dont vous avez besoin pour afficher les résultats du profilage. Le rapport est plein de détails, y compris, le cas échéant, des graphiques.



Le rapport peut être exporté vers un fichier HTML interactif :


 profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html") 


Cliquez ici pour regarder en direct.


( dossier avec exemples - traduction approximative.)




2. Rendre les graphiques Pandas interactifs


La classe DataFrame dans Pandas a une fonction .plot () intégrée. Cependant, la visualisation créée avec son aide n'est pas interactive, ce que j'aimerais améliorer. D'un autre côté, je ne veux pas non plus abandonner la simplicité d'utilisation de la fonction. Et si nous pouvions rendre les graphiques Pandas interactifs sans apporter de modifications au code? C'est exactement ce qui est possible avec la bibliothèque de boutons de manchette .


Les boutons de manchette relient la force du complot à la flexibilité des Pandas pour la représentation graphique interactive. Voyons comment vous pouvez installer la bibliothèque et la faire fonctionner avec Pandas .


L'installation


 pip install plotly # Plotly     Cufflinks pip install cufflinks 

Utiliser


 #  Pandas import pandas as pd # plotly  cufflinks    import cufflinks as cf 

 import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True) 

Il est temps de voir toute la puissance de l'instrument sur les données des passagers du Titanic.


 df.iplot() 

df.plot () par rapport à df.iplot ()

La visualisation inférieure montre un diagramme statique, tandis que le diagramme supérieur est interactif et plus détaillé, le tout sans aucun changement de syntaxe significatif.


Ici vous pouvez voir plus d'exemples.




3. Un peu de magie


Les commandes magiques sont un ensemble de fonctions pratiques des ordinateurs portables Jupyter conçues pour résoudre les tâches courantes d'analyse de données standard. Vous pouvez voir toutes les fonctionnalités disponibles avec % lsmagic .


Liste de toutes les fonctions "magiques" disponibles

Il existe deux types de commandes magiques: les magies de ligne , qui commencent par un seul % et fonctionnent sur la même ligne; et la magie cellulaire , qui est associée au double %% et fonctionne sur plusieurs lignes.


Voyons ceux qui sont utiles dans les tâches générales d'analyse des données:


  • % pastebin

% pastebin charge le code dans Pastebin et retourne l'url. Pastebin est un site où nous pouvons enregistrer du texte brut, par exemple, un fragment du code source, pour ensuite transmettre le lien à d'autres. En fait, le GitHub Gist s'apparente à Pastebin, mais avec un contrôle de version.


Considérez le script suivant:


 # file.py def foo(x): return x 

L'utilisation de % pastebin dans un bloc-notes Jupyter créera une URL sur Pastebin.



  • % carnet matplotlib

La commande en ligne% matplotlib est utilisée pour visualiser les tracés statiques de matplotlib dans un bloc-notes Jupyter. Remplacez inline par notebook pour obtenir des graphiques évolutifs et modifiables. Assurez-vous simplement que la commande est ajoutée avant d'importer matplotlib .


% matplotlib inline par rapport au % matplotlib notebook
  • % run

La commande % run exécute le script dans le bloc-notes Jupyter.


 %run file.py 

  • %% fichier d'écriture

%% writefile écrit le contenu d'une cellule dans un fichier. Le code ci-dessous sera écrit dans un fichier appelé foo.py et enregistré dans le répertoire courant.



  • %% latex

La fonction %% latex affiche le contenu de la cellule sous forme de LaTeX. Ceci est utile pour écrire des formules et des équations mathématiques dans une cellule.





4. Dépannage


Le débogueur interactif est également une équipe magique, mais je lui ai donné ma propre catégorie. Si une exception se produit lors du démarrage de la cellule avec le code, entrez la commande % debug sur une nouvelle ligne et exécutez-la. Un environnement de débogage interactif s'ouvre, indiquant l'emplacement où l'exception s'est produite. Vous pouvez vérifier les valeurs des variables et effectuer diverses opérations. Pour quitter le débogueur, appuyez sur q .





5. La conclusion peut être belle


Si vous souhaitez que vos structures de données soient magnifiquement affichées, alors pprint est votre choix. Cela est particulièrement utile lors de l'impression de dictionnaires ou de données JSON. Examinons le code qui utilise à la fois print et pprint pour la sortie.





6. Souligner les notes


Nous pouvons utiliser des alertes dans nos cahiers Jupyter pour mettre en évidence quelque chose d'important. La couleur dépendra du type d'alerte. Ajoutez simplement un ou tous les codes suivants à la cellule que vous souhaitez mettre en surbrillance.


  • Alerte bleue: informations

 <div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div> 


  • Alerte jaune: avertissement

 <div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div> 


  • Alerte verte: succès

 <div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div> 


  • Alerte rouge: Danger

 <div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div> 




7. Imprimez chaque sortie dans une cellule


Considérez une cellule Jupyter Notebook contenant ce code:


 In [1]: 10+5 11+6 

 Out [1]: 17 

Il s'agit d'une propriété normale de la cellule que seule la dernière sortie est imprimée, et pour d'autres, nous devons ajouter la fonction print () . Eh bien, il s'avère que nous pouvons imprimer toutes les conclusions en ajoutant le fragment suivant d'en haut:


 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" 

Maintenant, toutes les conclusions sont imprimées les unes après les autres.


 In [1]: 10+5 11+6 12+7 

 Out [1]: 15 Out [1]: 17 Out [1]: 19 

Pour revenir au réglage initial:


 InteractiveShell.ast_node_interactivity = "last_expr" 



8. Exécution de scripts Python avec l'option -i.


Une façon typique d'exécuter un script Python à partir de la ligne de commande est: python hello.py . Cependant, si vous ajoutez le paramètre - i, c'est-à-dire appelez python -i hello.py vous obtiendrez beaucoup plus. Voyons voir quoi exactement.


  • Tout d'abord, une fois la fin du programme atteinte, Python ne quitte plus l'interpréteur. Ainsi, nous pouvons vérifier les valeurs des variables et l'exactitude des fonctions définies dans notre programme.


  • Deuxièmement, puisque nous sommes toujours dans l'interpréteur, nous pouvons facilement appeler le débogueur python:

 import pdb pdb.pm() 

Cela nous mènera à l'endroit où l'exception s'est produite et nous pouvons continuer à travailler sur le code.


La source originale de fonctionnalités.




9. Commentaire automatique du code (ras)


Ctrl / Cmd + / commente automatiquement les lignes sélectionnées dans la cellule. Une nouvelle pression sur la combinaison supprimera les mêmes lignes.


(Cela est d'ailleurs vrai pour d'autres éditeurs comme Pycharm ou Sublime Text - environ. Transl.)





10. Annulation d'actions aléatoires


Avez-vous déjà accidentellement supprimé une cellule Jupyter Notebook? Si c'est le cas, voici les fusils qui annuleront cette action.


  • Si vous avez supprimé le contenu à l'intérieur de la cellule, vous pouvez facilement le restaurer en appuyant sur CTRL / CMD + Z
  • Si vous devez restaurer la cellule supprimée elle-même - ESC + Z ou EDIT> Annuler la suppression des cellules




Conclusion


Dans cet article, j'ai répertorié les conseils de base qui m'aident lorsque je travaille avec des ordinateurs portables Python et Jupyter. J'espère qu'ils vous aideront aussi. Bon codage!

Source: https://habr.com/ru/post/fr457302/


All Articles