• 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.

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 👋