Indexación basada en etiquetas para Pandas DataFrame

La indexación juega un papel importante en los marcos de datos. A veces necesitamos dar una «indexación elegante» basada en etiquetas al marco de datos de Pandas. Para esto, tenemos una función en pandas conocida como pandas.DataFrame.lookup(). El concepto de Fancy Indexing es simple, lo que significa que tenemos que pasar una array de índices para acceder a varios elementos de la array a la vez. 

La función pandas.DataFrame.lookup() toma arrays de igual longitud de etiquetas de fila y columna como sus atributos y devuelve una array de los valores correspondientes a cada par (fila, columna).

Sintaxis: DataFrame.lookup(row_labels, col_labels)

Parámetros:
row_labels: las etiquetas de fila que se utilizarán para la búsqueda.
col_labels: las etiquetas de columna que se usarán para la búsqueda.

Devoluciones:
numpy.ndarray

Ejemplo 1:

Python3

# importing pandas library
import pandas as pd
  
# Creating a Data frame
df = pd.DataFrame([['1993', 'x', 5, 4, 7, 2], 
                   ['1994', 'v', 10, 1, 2, 0],
                   ['1995', 'z', 2, 1, 4, 12],
                   ['1996', 'y', 2, 1, 10, 1], 
                   ['1998', 'x', 2, 10, 40, 12],
                   ['1999', 'x', 5, 8, 11, 6]], 
                  columns=('Year', 'Alpha', 'x', 'y', 'z', 'v'))
  
# Display Data frame
df

Producción:

Python3

# Use concept of fancy indexing to make new 
# column 'Value' in data frame 
# with help of dataframe.lookup() function
df['Value'] = df.lookup(df.index, df['Alpha'])
  
# Modified Data frame
df

Producción:

En el ejemplo anterior, usamos el concepto de indexación elegante basada en etiquetas para acceder a múltiples elementos del marco de datos a la vez y, por lo tanto, creamos una nueva columna ‘ Valor ‘ usando la función dataframe.lookup()

Ejemplo 2:

Python3

# importing pandas library
import pandas as pd
  
# Creating a Data frame
df = pd.DataFrame([['1993', 'Avi', 5, 41, 70, 'Bob'], 
                   ['1994', 'Cathy', 10, 1, 22, 'Cathy'], 
                   ['1995', 'Cathy', 24, 11, 44, 'Bob'], 
                   ['1996', 'Bob', 2, 11, 10, 'Avi'], 
                   ['1998', 'Avi', 20, 10, 40, 'Avi'],
                   ['1999', 'Avi', 50, 8, 11, 'Cathy']],
                  columns=('Patients', 'Name', 'Avi', 'Bob', 'Cathy', 'Aname'))
  
# Display Data frame
df

Producción:

Python3

# Use concept of fancy indexing to make two
# new columns in data frame with help of
# dataframe.lookup() function
df['Age'] = df.lookup(df.index, df['Name'])
df['Marks'] = df.lookup(df.index, df['Aname'])
  
# Modified Data frame
df

Producción:

En el ejemplo anterior, usamos el concepto de indexación elegante basada en etiquetas para acceder a múltiples elementos del marco de datos a la vez y, por lo tanto, creamos dos nuevas columnas ‘ Edad ‘ y ‘ Marcas ‘ usando la función dataframe.lookup()

Ejemplo 3:

Python3

# importing pandas library
import pandas as pd
  
# Creating a Data frame
df = pd.DataFrame([['Date1', 1850, 1992,'Avi', 5, 41, 70, 'Avi'],
                   ['Date2', 1896, 1950, 'Cathy', 10, 1, 22, 'Avi'], 
                   ['Date2', 1900, 1920, 'Cathy', 24, 11, 44, 'Cathy'], 
                   ['Date1', 1889, 1960, 'Bob', 2, 11, 10, 'Bob'], 
                   ['Date2', 1910, 1952, 'Avi', 20, 10, 40, 'Bob'],
                   ['Date1', 1999, 1929, 'Avi', 50, 8, 11, 'Cathy']], 
                  columns=('Year', 'Date1', 'Date2', 'Name', 'Avi', 
                           'Bob', 'Cathy', 'Alpha'))
  
# Display Data frame
df

Producción:

Python3

# Use concept of fancy indexing to make two 
# three columns in data frame with help of
# dataframe.lookup() function
df['Age'] = df.lookup(df.index, df['Name'])
df['Height'] = df.lookup(df.index, df['Alpha'])
df['Date_of_Birth'] = df.lookup(df.index, df['Year'])
      
# Modified Data frame
df

Producción:

En el ejemplo anterior, usamos el concepto de indexación elegante basada en etiquetas para acceder a múltiples elementos del marco de datos a la vez y, por lo tanto, creamos dos nuevas columnas ‘ Edad ‘, ‘ Altura ‘ y ‘ Fecha_de_nacimiento ‘ usando la función dataframe.lookup()

Los tres ejemplos muestran cómo funciona la indexación elegante y cómo podemos crear nuevas columnas usando la indexación elegante junto con la función dataframe.lookup().

Publicación traducida automáticamente

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