14 tips Python avec pandas pour la Data (partie 2)

  • par

Partie 1

Petite liste d’astuces en Python (avec pandas et Jupyter entre autres) appliquées à de la Data Analyse et ainsi gagner en productivité.

La fonction apply()

apply() est l’une des fonctions les plus utilisées parce qu’elle applique la fonction sur chaque ligne ou colonne. axis=0 pour appliquer sur chaque colonne et axis=1 pour chaque ligne.

Astuce Python sous pandas

Nombre de colonnes à afficher

Pour montrer plus de colonnes/lignes dans pandas :

import pandas as pd 
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)

Copier cellule Jupyter

On peut copier une cellule d’un autre fichier en pressant cmd+v deux fois. Avec juste cmd+v il y a un warning.

Sets vs Lists en Python

Pour des opérations basiques (comme : « element in list »), préférez les Sets aux Lists. Vous gagnerez en performance.

Pour les Sets on est sur du constant O(n) tandis que pour une liste, on est sur du linéaire O(n)

Info()

Sur Jupyter, utiliser info() pour voir l’utilisation de la mémoire par le DataFrame. Et memory_usage() pour chaque colonne.

Initialiser un dict en Python

Pour des questions de perf, utilisez

defaultdict(int) 

pour init un dict plutôt que juste :

mdict = {}

Debugger de Jupyter

Dans Jupiter, utilisez la commande %debug dans une nouvelle cellule pour ouvrir un debugger interactif. Il montre la position où l’exception a été levée , ce qui permet d’examiner le cide à ce moment (le contenu d’une variable par exemple).

Les commandes magiques de Jupyter

Dans Jupyter, il existe des commandes dites magiques pour gagner du temps. Elles sont accessibles via : %lsmagic Les plus utilisées en général sont : %pwd, %cd, %ls et %who pour lister l’ensemble des variables.

print() vs display()

print() vs display() : display() permet de soigner l’affichage :

Affichage d’un graphe sous Jupyter

Lors de la création d’un graphe avec pandas, mettre un point virgule pour ne plus afficher <matplotlib.axes._subplots.AxesSubplot at 0x11bb8ec90>

Tab vs Space en Python ?

Tab vs Space ? #Python Préférez les Spaces ! Utiliser des Tab seulement s’il y en a déjà dans le programme. Ne surtout pas mélanger les deux.

La commande whos sur Jupyter

La commande %whos est géniale sur un notebook jupyter. Elle permet d’afficher l’état (type, valeur) de l’ensemble des variables.

Obtenir la documentation d’une fonction

En appelant une méthode avec un point d’interrogation devant, on peut obtenir la doc

Changer le langage dans Jupyter

Dans jupyter on peut changer le langage avec : %%bash ou %%HTML ou %%perl, etc.