Resalta el valor máximo en cada columna en Pandas

Analicemos cómo resaltar los valores máximos en Pandas Dataframe. Primero hagamos un marco de datos:

Ejemplo:

Python3

# Import Required Libraries
import pandas as pd
import numpy as np
  
# Create a dictionary for the dataframe
dict = {'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
                 'Sanskriti', 'Abhishek Jain'], 
        'Age': [22, 20, 45, 21, 22],
        'Marks': [90, 84, 33, 87, 82]}
  
# Converting Dictionary to Pandas Dataframe
df = pd.DataFrame(dict)
  
# Print Dataframe
df

Producción: 
 

Ahora, ven a la parte resaltada. Nuestro objetivo es resaltar las celdas con valores máximos en cada columna.

Método 1: Resaltar celda con valor máximo en cada columna

Haremos esto usando el método de resaltado_max() de la propiedad DataFrame. El método Highlight_max() toma 3 argumentos, subconjunto = nombre de las columnas de las que desea encontrar el máximo, color = nombre del color con el que desea resaltar la celda y eje = (0/1) en función de qué eje quiero encontrar el máximo.
 

Python3

# Highlighting the maximum values of
# last 2 columns
df.style.highlight_max(color = 'lightgreen', axis = 0)

Producción: 

Método 2: Resaltar el texto en lugar de la celda 

Python3

# Defining custom function which returns 
# the list for df.style.apply() method
def highlight_max(s):
    is_max = s == s.max()
    return ['color: green' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)

Producción: 

Método 3: Resaltar celda con valores máximos 

Python3

# Defining custom function which returns 
# the list for df.style.apply() method
def highlight_max(s):
    is_max = s == s.max()
    return ['background: lightgreen' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)

Producción: 

Método 4: Resaltar celda con valores máximos pero no resaltar los valores de string 

Python3

# Defining custom function which returns
# the list for df.style.apply() method
def highlight_max(s):
    if s.dtype == np.object:
        is_max = [False for _ in range(s.shape[0])]
    else:
        is_max = s == s.max()
    return ['background: lightgreen' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)

Producción:

Publicación traducida automáticamente

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