Hice esta pregunta ¿Cómo aplicar un formato condicional diferente a diferentes filas? que fue amablemente respondido por @davmos

¡Ahora tengo un nuevo problema, que es agregar más de dos condiciones en diferentes filas de datos!

Entonces tengo el siguiente marco de datos: ingrese la descripción de la imagen aquí

Donde estoy resaltando los valores máximos en las filas de colores, pero también quiero agregar otras condiciones en otras filas. Por ejemplo, el valor mínimo en la fila 'FORWARD P / E'

Entonces mi código es el siguiente:

def highlight_min(s):
try:
    is_min = s == s.min()
    return ['background-color: green' if v else '' for v in is_min]
except TypeError:
    pass
except KeyError:
    pass

def highlight_max(s):
    try:
        is_max = s == s.max()
        return ['background-color: green' if v else '' for v in is_max]
    except TypeError:
        pass
    except KeyError:
        pass



df.style.apply(highlight_max, axis=1, subset=(['Book Value Per Share (mrq)', 'Diluted EPS (ttm)','EBITDA', 'Gross Profit (ttm)'], df.columns))

¡Mi pregunta es cómo puedo usar esas otras fórmulas condicionales en otras filas en el mismo conjunto de datos!

Muchas gracias :)

1
Luís Lima Moreira 14 mar. 2021 a las 03:32

1 respuesta

La mejor respuesta

Si concatenas la función APLICAR para cada función que desees, puedes realizar varios procesos. No tenía los datos, así que obtuve el estado de resultados de AAPL y lo adapté. Cambié el valor mínimo a rojo. consulte el estilo pandas

(df.style.apply(highlight_max, axis=1, subset=(['Research Development', 'Operating Income','Cost Of Revenue'], df.columns))
.apply(highlight_min, axis=1, subset=(['Research Development', 'Operating Income','Cost Of Revenue'], df.columns)))

enter image description here

2
r-beginners 14 mar. 2021 a las 04:06