Resalte las columnas específicas de Pandas DataFrame usando applymap()

Veamos cómo resaltar elementos y columnas específicas de un Pandas DataFrame. Podemos hacer esto usando la applymap()función de la clase Styler.

Styler.applymap() 

Sintaxis: Styler.applymap(self, func, subset = None, **kwargs)

Parámetros:

  • func : toma un escalar y devuelve un escalar.
  • subconjunto: indexador válido para limitar los datos antes de aplicar la función.
  • **kwargs: pasar dictamen a func .

Devoluciones : Styler

Entendamos con ejemplos:

En primer lugar, cree un marco de datos simple:

# importing pandas as pd 
import pandas as pd 
  
# creating the dataframe  
df = pd.DataFrame({"A" : [14, 4, 5, 4, 1], 
                   "B" : [5, 2, 54, 3, 2],
                   "C" : [20, 20, 7, 3, 8],
                   "D" : [14, 3, 6, 2, 6]}) 
  
print("Original DataFrame :")
display(df)

Producción :

Ejemplo 1: para cada celda en el DataFrame, si el valor es inferior a 6, resaltaremos la celda con color rojo, de lo contrario, con color azul.

# function definition
def highlight_cols(s):
    color = 'red' if s < 6 else 'blue'
    return 'background-color: % s' % color
  
# highlighting the cells
display(df.style.applymap(highlight_cols))

Producción :

Ejemplo 2: esta vez resaltaremos solo las celdas en algunas columnas específicas.

# function definition
def highlight_cols(s):
    return 'background-color: % s' % 'yellow'
  
# highlighting the cells
display(df.style.applymap(highlight_cols, 
                          subset = pd.IndexSlice[:, ['B', 'C']]))

Producción :

Resalta columnas específicas con la ayuda de la indexación:

Python3

df.style.applymap(highlight_cols, subset = pd.IndexSlice[:, ['B', 'C']])

Publicación traducida automáticamente

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