Python | Cambie los nombres de las columnas y los índices de las filas en Pandas DataFrame

Dado un DataFrame de Pandas, veamos cómo cambiar sus nombres de columna e índices de fila.

Acerca de Pandas DataFrame
Pandas DataFrame son cuadrículas rectangulares que se utilizan 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 del marco de datos tiene datos homogéneos en cualquier columna específica, pero las filas del marco de datos pueden contener datos homogéneos o heterogéneos en cualquier fila específica.
  • A diferencia de la array bidimensional, los ejes del marco de datos de pandas están etiquetados.

El tipo de marco de datos de Pandas tiene dos atributos llamados ‘columnas’ e ‘índice’ que se pueden usar para cambiar los nombres de las columnas y los índices de las filas.

Cree un DataFrame usando el diccionario.

# first import the libraries
import pandas as pd
   
# Create a dataFrame using dictionary
df=pd.DataFrame({"Name":['Tom','Nick','John','Peter'],
                 "Age":[15,26,17,28]})
  
# Creates a dataFrame with
# 2 columns and 4 rows
df

  1. Método #1: cambiar el nombre de la columna y el índice de la fila usando un df.columnsatributo df.index .

    Para cambiar los nombres de las columnas, proporcionamos una lista de Python que contiene los nombres de las columnas df.columns= ['First_col', 'Second_col', 'Third_col', .....].
    Para cambiar los índices de las filas, también le proporcionamos una lista de python df.index=['row1', 'row2', 'row3', ......].

    # Let's rename already created dataFrame.
      
    # Check the current column names
    # using "columns" attribute.
    # df.columns
      
    # Change the column names
    df.columns =['Col_1', 'Col_2']
      
    # Change the row indexes
    df.index = ['Row_1', 'Row_2', 'Row_3', 'Row_4']
      
    # printing the data frame
    df

  2. Método #2: usar rename()la función con el diccionario para cambiar una sola columna

    # let's change the first column name
    # from "A" to "a" using rename() function
    df = df.rename(columns = {"Col_1":"Mod_col"})
      
    df

    Cambie varios nombres de columna simultáneamente:

    # We can change multiple column names by 
    # passing a dictionary of old names and 
    # new names, to the rename() function.
    df = df.rename({"Mod_col":"Col_1","B":"Col_2"}, axis='columns')
      
    df

  3. Método #3: Uso de la función Lambda para cambiar el nombre de las columnas.

    Una función lambda es una pequeña función anónima que puede tomar cualquier cantidad de argumentos, pero solo puede tener una expresión. Usando la función lambda podemos modificar todos los nombres de las columnas a la vez. Agreguemos ‘x’ al final del nombre de cada columna usando la función lambda

    df = df.rename(columns=lambda x: x+'x')
      
    # this will modify all the column names
    df

  4. Método #4: Usar valuesel atributo para cambiar el nombre de las columnas.

    Podemos usar el atributo de valores directamente en la columna cuyo nombre queremos cambiar.

    df.columns.values[1] = 'Student_Age'
      
    # this will modify the name of the first column
    df

    Cambiemos el índice de la fila usando la función Lambda.

    # To change the row indexes
    df = pd.DataFrame({"A":['Tom','Nick','John','Peter'],
                       "B":[25,16,27,18]})
      
    # this will increase the row index value by 10 for each row
    df = df.rename(index = lambda x: x + 10)
      
    df

    Ahora, si queremos cambiar los índices de las filas y los nombres de las columnas simultáneamente, entonces se puede lograr usando rename()la función y pasando tanto el atributo de columna como el de índice como parámetro.

    df = df.rename(index = lambda x: x + 5,
                   columns = lambda x: x +'x')
       
    # increase all the row index label by value 5
    # append a value 'x' at the end of each column name. 
    df

Publicación traducida automáticamente

Artículo escrito por Shubham__Ranjan 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 *