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

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

Acerca de Pandas DataFrame: 

Pandas DataFrame es una cuadrícula rectangular que se utiliza para almacenar datos. Es fácil visualizar y trabajar con datos cuando se almacenan en dataFrame.

  • Se compone de filas y columnas.
  • Cada fila es una medida de alguna instancia, mientras que la columna es un vector que contiene datos para algún atributo/variable específico.
  • Cada columna de Dataframe tiene datos homogéneos en cualquier columna específica, pero las filas de Dataframe pueden contener datos homogéneos o heterogéneos en cualquier fila específica.
  • A diferencia de las arrays bidimensionales, los ejes de marco de datos de pandas están etiquetados.

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

Método 1: Usar la función de cambio de nombre()

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

Ejemplo 1: cambiar el nombre de una sola columna

Python3

# 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("\nAfter modifying first column:\n", rankings_pd.columns)

Producción: 

 

Ejemplo 2: cambiar el nombre de varias columnas

Python3

# 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 columna 

Las columnas también se pueden renombrar asignando directamente una lista que contiene los nuevos nombres al atributo de columnas del objeto Dataframe para el que queremos renombrar las columnas. 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. 

Python3

# 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 columna y el eje que debe reemplazarse con un nuevo nombre en la columna como parámetro.

Python3

# 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', inplace=True)
  
# After renaming the columns
print(rankings_pd.columns)
rankings_pd.head()

Producción:

 

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

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

Python3

# 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.

Python3

# 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:

 

Publicación traducida automáticamente

Artículo escrito por rituraj_jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *