Come modificare i nomi delle colonne e gli indici delle righe in Panda?
Una delle operazioni più comuni che si possono eseguire durante la pulizia dei dati o l’analisi esplorativa dei dati durante la scienza dei dati è la manipolazione / correzione dei nomi delle colonne o delle righe.
In questo post, vedremo
- Come rinominare colonne di dataframe panda?
- Come cambiare i nomi di riga o gli indici di riga di un dataframe panda?
Per prima cosa cariciamo i panda.
# import pandas>import pandas as pd
Usiamo i dati di gapminder dal sito web di software carpentry.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
controlliamo i nomi delle colonne del dataframe, le prime tre righe di dati, utilizzando la funzione head.
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Possiamo anche utilizzare la funzione delle colonne per ottenere i nomi delle colonne.
>gapminder.columnsIndex(, dtype="object")
Come rinominare le colonne in Panda?
Uno può cambiare i nomi delle colonne di un panda dataframe in almeno due modi. Un modo per rinominare le colonne in Pandas consiste nell’usare df.columns da Pandas e assegnare direttamente nuovi nomi.
Ad esempio, se hai i nomi delle colonne in un elenco, puoi assegnare l’elenco ai nomi delle colonne direttamente.
Per modificare le colonne del dataframe di gapminder, possiamo assegnare l’elenco dei nuovi nomi di colonna a gapminder.columns come
>gapminder.columns =
Questo assegnerà i nomi nell’elenco come nomi di colonna per il frame di dati “gapminder”. Possiamo controllare il dataframe per vedere se ha nuovi nomi di colonna utilizzando la funzione head ().
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Un problema con questo approccio per cambiare i nomi delle colonne è che bisogna cambiare i nomi di tutte le colonne nel data frame. Questo approccio non funzionerebbe, se vogliamo cambiare cambia semplicemente il nome di una colonna.
Funzione di rinomina dei panda per rinominare le colonne
Un altro modo per cambiare i nomi delle colonne nei panda è usare la funzione di rinomina. Usare la funzione di rinomina per cambiare i nomi delle colonne è un modo molto migliore di prima. Si può cambiare ge nomi di colonne specifiche facilmente. E non è necessario modificare tutti i nomi delle colonne.
Per modificare i nomi delle colonne utilizzando la funzione di rinomina in Pandas, è necessario specificare un mappatore, un dizionario con il vecchio nome come chiavi e il nuovo nome come valori. Ecco un esempio per modificare molti nomi di colonne utilizzando un dizionario. Useremo anche inplace = True per cambiare i nomi delle colonne in posizione.
Uno dei maggiori vantaggi dell’utilizzo della funzione di rinomina è che possiamo usare rename per cambiare tutti i nomi delle colonne che vogliamo.
Cambiamo il nome di una singola colonna.
La funzione di rinomina dei panda può anche prendere una funzione come input invece di un dizionario. Ad esempio, possiamo scrivere una funzione lambda per prendere i nomi delle colonne correnti e considerare solo i primi tre caratteri per i nuovi nomi delle colonne.
Come modificare e nomi di riga / indici in Panda?
Un altro aspetto positivo della funzione di ridenominazione dei panda è che possiamo anche usarla per modificare gli indici di riga o i nomi di riga.
Dobbiamo solo usare l’argomento di indice e specificare, vogliamo cambiare l’indice non le colonne.
Ad esempio, per cambiare i nomi delle righe 0 e 1 in “zero” e “uno” nel nostro dataframe gapminder, costruiremo un dizionario con i vecchi nomi degli indici delle righe come chiavi e nuova riga index come valori.
Possiamo vedere che solo le prime due righe hanno nuovi nomi come previsto.
Come modificare simultaneamente i nomi delle colonne e gli indici delle righe in Panda?
Con la funzione di ridenominazione di panda, è anche possibile modificare simultaneamente i nomi delle colonne e delle righe utilizzando entrambi gli argomenti di colonna e indice per rinominare la funzione con i dizionari mapper corrispondenti.
Cambiamo il nome della colonna “lifeExp” a “espressione_vita” e anche indici di riga “0 & 1” a “zero e uno”.
Sei nuovo a Panda? E hai iniziato con i Panda di recente? Dai un’occhiata ai nostri nuovi tutorial di Byte Sized Pandas 101.