• analiticas
  • Posts
  • Perché scriviamo "import pandas as pd"?

Perché scriviamo "import pandas as pd"?

E perché facciamo la stessa cosa con NumPy e altre librerie

Pandas, NumPy e molte altre librerie di Python sono comunemente importate accompagnate da un alias.

In questa micro-lezione analizzeremo il perché di questa convenzione, i suoi vantaggi e alcuni esempi.

Perché usiamo gli alias?

L’utilizzo degli alias è una pratica comune che consente di rinominare moduli, funzioni o classi durante l'importazione.

Quando importiamo un modulo in Python, possiamo assegnargli un nome alternativo, spesso più breve o più facile da ricordare.

La sintassi di base per usare un alias è la seguente:

import modulo as alias

Questa tecnica è particolarmente diffusa con librerie come NumPy e pandas, che vengono comunemente importate come "np" e "pd":

import pandas as pd
import numpy as np

I vantaggi degli alias

Utilizzare gli alias ha sostanzialmente due vantaggi:

  • La scrittura di codice più conciso

  • La possibilità di gestire conflitti dovuti a moduli con lo stesso nome

La brevità

Se non usassimo gli alias, dovremmo scrivere il nome della libreria per intero, quando usiamo una delle sue funzioni.

Ad esempio, in una micro-lezione precedente abbiamo visto come calcolare potenze e radici quadrate in Python.

Ecco come calcoliamo la radice quadrata del numero 243 quando importiamo NumPy con l’alias “np”:

import numpy as np

np.power(243, 2)

Ed ecco invece cosa bisogna fare se non utilizziamo l’alias quando importiamo NumPy:

import numpy

numpy.power(243, 2)

In poche parole, l’utilizzo dell’alias ci permette di usare meno caratteri e quindi di essere più rapidi quando scriviamo il nostro codice.

La gestione dei conflitti

L’utilizzo degli alias è utile quando due moduli hanno funzioni con lo stesso nome o quando si vuole importare un modulo con un nome che potrebbe entrare in conflitto con altre variabili nel programma.

Vediamo un esempio in cui importiamo tutti i moduli della libreria NumPy (incluso il modulo random) e poi il modulo random standard di Python.

from numpy import *
import random

random

Ed ecco il risultato:

<module 'random' from '/Users/user/anaconda3/lib/python3.11/random.py'>

Quando chiamiamo il modulo random possiamo vedere che è quello standard di Python, ovvero l’ultimo che abbiamo importato.

Se invece avessimo invertito l’ordine dei nostri import:

import random
from numpy import *

random

Il risultato sarebbe stato:

<module 'numpy.random' from '/Users/user/anaconda3/lib/python3.11/site-packages/numpy/random/__init__.py'>

Nota bene

Se due moduli hanno lo stesso nome, quello importato per ultimo sovrascriverà il precedente.

Come possiamo evitare questa ambiguità? Utilizzando gli alias!

Ecco come fare:

import random
from numpy import random as np_random

In questo caso, entrambi i moduli random sono stati importati.

Gli alias più comuni

Oltre alle librerie NumPy e pandas, molte altre sono di solito importate con un alias.

Ecco qui una lista (non esaustiva) degli alias più comuni:

Libreria

Alias

NumPy

np

pandas

pd

Matplotlib Pyplot

plt

Matplotlib (standard)

mpl

Seaborn

sns

SciPy

sp

TensorFlow

tf

PyTorch

torch

scikit-learn

sklearn

Beautiful Soup

bs

Plotly Express

px

XGBoost

xgb

Uno scherzo da… veri nerd

Uno degli scherzi peggiori a tema Python che si possa fare ad un collega ha a che fare con gli alias.

La prossima volta che un collega lascia il laptop sbloccato, prova a modificare la sezione degli import di un suo Notebook così:

import pandas as np
import numpy as pd

Ti assicuro che ci metterà un po’ a capire che gli alias tipicamente usati per queste librerie sono stati invertiti!

Alla prossima micro-lezione 👋