- analiticas
- Posts
- 4 metodi per rimuovere le colonne di un dataframe con Python
4 metodi per rimuovere le colonne di un dataframe con Python
Semplifica i tuoi dati rimuovendo le colonne superflue
Lavorare con i dati spesso richiede di snellire il nostro dataframe, eliminando le colonne che non ci servono.
In questa micro-lezione vedremo come farlo in modo semplice e veloce con Python.
Il programma della micro-lezione
Le librerie e il dataframe
Per prima cosa, importiamo la libreria pandas:
import pandas as pd
Costruiamo adesso un dataframe. Se ne hai già uno su cui stai lavorando puoi saltare questo passaggio.
df = pd.DataFrame({
'Prodotto': ['A', 'B', 'C'],
'Gen': [100, 120, 90],
'Feb': [110, 130, 95],
'Mar': [105, 125, 100]
})
Il nostro dataframe avrà questo aspetto:
Prodotto | Gen | Feb | Mar |
---|---|---|---|
A | 100 | 110 | 105 |
B | 120 | 130 | 125 |
C | 90 | 95 | 100 |
Metodo 1: la semplicità di drop()
Supponiamo di voler eliminare la colonna “Gen”. Ecco come farlo:
df2 = df.drop('Gen', axis=1)
Attenzione!
L'argomento axis=1
indica a pandas di operare sulle colonne. Se lo ometti, elimineremo delle righe!
Ed ecco qui il nostro dataframe senza la colonna “Gen”.
Prodotto | Feb | Mar |
---|---|---|
A | 110 | 105 |
B | 130 | 125 |
C | 95 | 100 |
Eliminare più colonne con drop()
Se vogliamo eliminare più colonne in una volta, possiamo usare una lista:
df3 = df.drop(['Gen', 'Feb'], axis=1)
Ed ecco il risultato:
Prodotto | Mar |
---|---|
A | 105 |
B | 125 |
C | 100 |
Metodo 2: l’essenzialità di “del”
Un'altra opzione è utilizzare il metodo del
:
del df['Prodotto']
Il metodo del
non è tipico della libreria pandas, ma è un metodo di Python, e come tale ha applicazioni più vaste, che vanno al di là dell’analisi dei dati.
Il metodo del
viene usato in Python per cancellare degli oggetti.
In Python, tutto è un oggetto. Quindi del
può essere usato per rimuovere variabili, liste, ecc.
Attenzione!
Il metodo del
modifica il dataframe originale e non restituisce una copia. Usalo con cautela.
Metodo 3: la sobrietà di pop()
Come del
, pop()
è un metodo semplice e immediato. A differenza di del
, pop()
è esclusivo della libreria pandas.
Ecco come usarlo:
df.pop('Prodotto')
pop()
è l’ideale per eliminare al volo una colonna, senza troppi fronzoli.
Metodo 4: la versatilità di “loc”
Il metodo loc
è uno dei più popolari in Python grazie alla sua versatilità.
Senza sorpresa, può essere usato per rimuovere una colonna dal nostro dataframe. Ecco come fare:
df4 = df.loc[:, df.columns != 'Gen']
Il primo argomento di loc
riguarda le righe. In questo caso stiamo selezionando tutte le righe del nostro dataframe, dalla prima all’ultima.
Questo è fatto dalla prima parte di loc
:
df.loc[:]
Nella seconda parte del comando, selezioniamo le colonne. Nel nostro esempio, decidiamo di tenere tutte le colonne che non si chiamano “Gen”.
Di conseguenza, la colonna “Gen” sarà eliminata:
Prodotto | Feb | Mar |
---|---|---|
A | 110 | 105 |
B | 130 | 125 |
C | 95 | 100 |
Importante!
Ricorda sempre di assegnare il risultato a una variabile: df4 = ...
.
In questo modo potrai conservare le modifiche!
Quale metodo usare?
Per rimuovere semplicemente una o più colonne, molto spesso l’opzione più comoda sarà drop()
Si tratta infatti di un metodo rapido e facilmente leggibile, che permette anche di rimuovere più colonne in una volta sola.
Per manipolazioni più complesse invece, molto spesso loc
è la scelta vincente, anche perché permette di rimuovere colonne in base alla loro posizione nel dataframe, senza specificarne il nome.
Alla prossima micro-lezione 👋