logo

Cómo cambiar el nombre de las columnas en Pandas DataFrame

Dado un Pandas DataFrame, veamos cómo cambiar el nombre de las columnas en Pandas con ejemplos. Aquí, analizaremos 5 formas diferentes de cambiar el nombre de las columnas en pandas DataFrame.

Cómo cambiar el nombre de las columnas en Pandas DataFrame

Método 1: Usando la función cambiar nombre()

Una forma de cambiar el nombre de las columnas en un Pandas Dataframe es mediante la función rename(). Este método es bastante útil cuando necesitamos cambiar el nombre de algunas columnas seleccionadas porque necesitamos especificar información solo para las columnas a las que se les va a cambiar el nombre.



Ejemplo 1: Cambiar el nombre de un una sola columna .

Pitón
# 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)>

Producción:



Ejemplo 2: Rebautizar múltiples columnas .

Pitón
# 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)>

Producción:

Método 2: Asignando una lista de nuevos nombres de columnas

También se puede cambiar el nombre de las columnas asignando directamente una lista que contenga los nuevos nombres al atributo de columnas del objeto Dataframe cuyo nombre queremos cambiar. La desventaja de este método es que necesitamos proporcionar nuevos nombres para todas las columnas incluso si queremos cambiar el nombre solo de algunas de las columnas.



Pitón
# 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)>

Producción:

Método 3: cambiar el nombre de las columnas usando la función DataFrame set_axis()

En este ejemplo, cambiaremos el nombre de la columna usando la función set_axis, pasaremos el nuevo nombre de la columna y el eje que debe reemplazarse con un nuevo nombre en la columna como parámetro.

Pitón
# 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()>

Producción:

lista vs conjunto en java

Método 4: cambiar el nombre de las columnas usando las funciones DataFrame add_prefix() y add_suffix()

En este ejemplo, cambiaremos el nombre del nombre de la columna usando la función add_Sufix y add_Prefix, pasaremos el prefijo y el sufijo que se deben agregar al nombre y apellido del nombre de la columna.

Pitón
# 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()>

Producción:

 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étodo 5: reemplazar textos específicos de nombres de columnas usando la función Dataframe.columns.str.replace

En este ejemplo, cambiaremos el nombre de la columna usando la función de reemplazo, pasaremos el nombre anterior con el nuevo nombre como parámetro para la columna.

Pitón
# 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()>

Producción: