Eliminare le colonne per indice in Pandas DataFrame
I DataFrame possono essere molto grandi e possono contenere centinaia di righe e colonne. È necessario essere esperti nelle operazioni di manutenzione di base di un DataFrame, come l’eliminazione di più colonne. Possiamo usare il metodo dataframe.drop() per eliminare colonne o righe dal DataFrame a seconda dell’axis specificato, 0 per le righe e 1 per le colonne. Identifica gli elementi da rimuovere in base ad alcune etichette. Ad esempio, elimineremo la colonna 'a' dal seguente DataFrame.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
print(df)
df.drop(["a"], axis=1, inplace=True)
print(df)
Produzione:
a b c d
0 10 6 7 8
1 1 9 12 14
2 5 8 10 6
b c d
0 6 7 8
1 9 12 14
2 8 10 6
Si noti l’uso del parametro inplace nella funzione di rilascio. Con il parametro inplace impostato come True, le colonne vengono rimosse dal DataFrame originale; in caso contrario, viene restituita una copia dell’originale.
Nel nostro esempio, abbiamo rimosso la colonna 'a', ma dobbiamo passare il nome dell’etichetta alla funzione dataframe.drop(). Quando si ha a che fare con set di dati di grandi dimensioni, è necessario gestire tali attività per molte colonne contemporaneamente e utilizzando gli indici di colonna invece dei loro nomi.
Possiamo ottenere ciò utilizzando il metodo dataframe.columns(), che restituisce tutte le colonne di un DataFrame e passa le etichette di colonna richieste utilizzando i loro indici alla funzione dataframe.drop(). Il seguente frammento di codice spiega come possiamo farlo.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
df.drop(df.columns[[1, 2]], axis=1, inplace=True)
print(df)
Produzione:
a d
0 10 8
1 1 14
2 5 6
Elimina le colonne il cui indice è 1 o 2.
Possiamo anche evitare di usare il parametro axis menzionando semplicemente il parametro columns nella funzione dataframe.drop(), che indica automaticamente che le colonne devono essere eliminate. Esempio:
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
df.drop(columns=df.columns[[1, 2]], inplace=True)
print(df)
Produzione:
a d
0 10 8
1 1 14
2 5 6
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum
