¿Cómo encontrar la sección transversal del marco de datos de Pandas?

A veces necesitamos encontrar la sección transversal de la serie pandas o el marco de datos. Aquí, la sección transversal significa obtener valores en el índice especificado, valores en varios índices, valores en varios índices y niveles o valores en la columna y el eje especificados, etc. Hay una función conocida como pandas.DataFrame.xs() que ayudará en esta condición.

pandas.DataFrame.xs() toma un argumento clave para seleccionar datos en el nivel particular en MultiIndex y devuelve la sección transversal del marco de datos de pandas.

Sintaxis: DataFrame.xs(key, axis=0, level=Ninguno, drop_level=True)

Parámetros:
clave – Etiqueta contenida en el índice, o parcialmente en un MultiÍndice.
eje: eje para recuperar la sección transversal.
level – En el caso de una clave contenida parcialmente en un MultiIndex, indique qué niveles se utilizan.
drop_level: si es falso, devuelve un objeto con los mismos niveles que uno mismo.

Devoluciones:
Sección transversal del DataFrame original

A continuación se muestra el código de pandas que ayudará a comprender correctamente la función pandas.DataFrame.xs().

Python3

# importing pandas library
import pandas as pd
  
# Creating a Dictionary
animal_dict = {'num_of_legs': [4, 0, 4, 2, 2, 2],
                 
               'num_of_wings': [0, 0, 0, 2, 2, 2],
                 
               'class': ['Reptiles', 'Reptiles', 'Reptiles',
                         'Birds', 'Birds', 'Birds'],
                 
               'animal': ['Turtle', 'Snake', 'Crocodile',
                          'Parrot', 'Owl', 'Hummingbird'],
                 
               'locomotion': ['swim_walk', 'swim_crawl', 'swim_walk', 
                              'flies', 'flies', 'flies']}
  
# Converting to Data frame and setting index
df = pd.DataFrame(data=animal_dict)
df = df.set_index(['class', 'animal', 'locomotion'])
  
# Displaying Data frame
df

Producción:

Ejemplo 1: Obtener valores en un índice específico

Python3

# Using dataframe.xs() function
# to get values of a specific index 
df.xs('Reptiles')

Producción:

Ejemplo 2: Obtener valores en varios índices

Python3

# Using dataframe.xs() function
# to get values at several indexes 
df.xs(('Birds', 'Parrot'))

Producción:

Ejemplo 3: obtener valores en el índice y el nivel especificados

Python3

# Using dataframe.xs() function
# to get values at specified index
# and level
df.xs('Crocodile', level = 1)

Producción:

Ejemplo 4: Obtener valores en varios índices y niveles

Python3

# Using dataframe.xs() function
# to get values at several indexes
# and levels
df.xs(('Birds', 'flies'),
      level=[0, 'locomotion'])

Producción:

Ejemplo 5: obtener valores en la columna y el eje especificados

Python3

# Using dataframe.xs() function
# to get values at specified column
# and axis
df.xs('num_of_wings', axis=1)

Producción:

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 *