logo

Come rinominare le colonne in Pandas DataFrame

Dato un Pandas DataFrame, vediamo come rinominare le colonne in Pandas con esempi. Qui discuteremo 5 modi diversi per rinominare i nomi delle colonne in Pandas DataFrame.

Come rinominare le colonne in Pandas DataFrame

Metodo 1: Utilizzando la funzione rinomina()

Un modo per rinominare le colonne in un Pandas Dataframe è utilizzare la funzione rename(). Questo metodo è molto utile quando dobbiamo rinominare alcune colonne selezionate perché dobbiamo specificare le informazioni solo per le colonne che devono essere rinominate.



Esempio 1: Rinominare a colonna singola .

Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd) rankings_pd.rename(columns = {'test':'TEST'}, inplace = True) # After renaming the columns print('
After modifying first column:
', rankings_pd.columns)>

Produzione:



Esempio 2: Rinominare più colonne .

Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.rename(columns = {'test':'TEST', 'odi':'ODI', 't20':'T20'}, inplace = True) # After renaming the columns print(rankings_pd.columns)>

Produzione:

Metodo 2: Assegnando un elenco di nuovi nomi di colonna

Le colonne possono anche essere rinominate assegnando direttamente una lista contenente i nuovi nomi all'attributo columns dell'oggetto Dataframe per il quale vogliamo rinominare le colonne. Lo svantaggio di questo metodo è che dobbiamo fornire nuovi nomi a tutte le colonne anche se vogliamo rinominarne solo alcune.



Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.columns = ['TEST', 'ODI', 'T-20'] # After renaming the columns print(rankings_pd.columns)>

Produzione:

Metodo 3: rinominare i nomi delle colonne utilizzando la funzione DataFrame set_axis()

In questo esempio, rinomineremo il nome della colonna utilizzando la funzione set_axis, passeremo come parametro il nuovo nome della colonna e l'asse che dovrebbe essere sostituito con un nuovo nome nella colonna.

Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.set_axis(['A', 'B', 'C'], axis='columns') # After renaming the columns print(rankings_pd.columns) rankings_pd.head()>

Produzione:

Java per i tipi di loop

Metodo 4: rinominare i nomi delle colonne utilizzando le funzioni DataFrame add_prefix() e add_suffix()

In questo esempio, rinomineremo il nome della colonna utilizzando la funzione add_Sufix e add_Prefix, passeremo il prefisso e il suffisso che dovrebbero essere aggiunti al nome e al cognome del nome della colonna.

Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd = rankings_pd.add_prefix('col_') rankings_pd = rankings_pd.add_suffix('_1') # After renaming the columns rankings_pd.head()>

Produzione:

 col_test_1 col_odi_1 col_t20_1 0 India England Pakistan 1 South Africa India India 2 England New Zealand Australia 3 New Zealand South Africa England 4 Australia Pakistan New Zealand>

Metodo 5: sostituisci testi specifici dei nomi di colonna utilizzando la funzione Dataframe.columns.str.replace

In questo esempio, rinomineremo il nome della colonna utilizzando la funzione di sostituzione, passeremo il vecchio nome con il nuovo nome come parametro per la colonna.

Pitone
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) # df = rankings_pd rankings_pd.columns = rankings_pd.columns.str.replace('test', 'Col_TEST') rankings_pd.columns = rankings_pd.columns.str.replace('odi', 'Col_ODI') rankings_pd.columns = rankings_pd.columns.str.replace('t20', 'Col_T20') rankings_pd.head()>

Produzione: