logo

Com canviar el nom de columnes a Pandas DataFrame

Donat un Pandas DataFrame, vegem com canviar el nom de columnes a Pandas amb exemples. Aquí parlarem de 5 maneres diferents de canviar el nom de les columnes a Pandas DataFrame.

Com canviar el nom de columnes a Pandas DataFrame

Mètode 1: Utilitzant la funció rename().

Una manera de canviar el nom de les columnes en un Pandas Dataframe és mitjançant la funció rename(). Aquest mètode és molt útil quan necessitem canviar el nom d'algunes columnes seleccionades perquè només hem d'especificar informació per a les columnes que s'han de canviar el nom.

Exemple 1: Canvia el nom a columna única .



Python
# 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)>

Sortida:

Exemple 2: Canvia el nom múltiples columnes .

Python
# 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)>

Sortida:

Mètode 2: Assignant una llista de noms de columnes nous

També es poden canviar el nom de les columnes assignant directament una llista que conté els noms nous a l'atribut columnes de l'objecte Dataframe per al qual volem canviar el nom de les columnes. El desavantatge d'aquest mètode és que hem de proporcionar noms nous per a totes les columnes, encara que només volem canviar el nom d'algunes de les columnes.

Python
# 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)>

Sortida:

Mètode 3: Canvieu el nom dels noms de les columnes mitjançant la funció DataFrame set_axis().

En aquest exemple, canviarem el nom del nom de la columna mitjançant la funció set_axis, passarem com a paràmetre el nom de la columna i l'eix nous que s'haurien de substituir per un nou nom a la columna.

Python
# 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()>

Sortida:

comandament superior unix

Mètode 4: canvieu el nom dels noms de les columnes mitjançant les funcions add_prefix() i add_suffix() de DataFrame

En aquest exemple, canviarem el nom del nom de la columna mitjançant la funció add_Sufix i add_Prefix, passarem el prefix i el sufix que s'han d'afegir al nom i cognom del nom de la columna.

Python
# 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()>

Sortida:

 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>

Mètode 5: substituïu textos específics de noms de columnes mitjançant la funció Dataframe.columns.str.replace

En aquest exemple, canviarem el nom del nom de la columna mitjançant la funció de substitució, passarem el nom antic amb el nom nou com a paràmetre de la columna.

Python
# 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()>

Sortida: