Formato condicional de pandas

Zeeshan Afridi 15 febrero 2024
  1. Formato condicional de pandas
  2. Utilice el formato condicional de Pandas
  3. Formato condicional utilizando el atributo estilo
  4. Conclusión
Formato condicional de pandas

Es posible que desee resaltar todas las celdas de una columna que contienen un valor específico o todas las celdas de una fila que superan un cierto umbral. El formato condicional también puede identificar rápidamente errores o valores atípicos en sus datos.

En este artículo, discutiremos el formato condicional de Pandas.

Formato condicional de pandas

El formato condicional de Pandas es una poderosa herramienta que le permite formatear sus columnas de marco de datos en función de las condiciones. Por ejemplo, puede utilizar el formato condicional para resaltar todas las celdas de una columna que superen un cierto valor, o puede utilizarlo para formatear celdas en función de si contienen una determinada cadena de texto.

Hay algunas formas diferentes de formatear las columnas de su marco de datos utilizando el formato condicional de pandas. Una forma es usar la función estilo; esta función toma un diccionario de condiciones y formatos y aplica esos formatos al trama de datos.

Otra forma de usar el formato condicional de pandas es la función aplicar; esta función le permite aplicar una función a todas las celdas de una columna en función de una condición.

Utilice el formato condicional de Pandas

Podemos usar la función round() para formatear condicionalmente las celdas que contienen valores numéricos.

df.round(2)

Esto redondeará todos los valores numéricos en el marco de datos a dos lugares decimales. También podemos usar la función format() para formatear condicionalmente las celdas que contienen valores de texto.

df.format("%s")

Esto formateará todos los valores de texto en el marco de datos como cadenas. También podemos utilizar la función aplicar () para formatear celdas condicionalmente según criterios personalizados.

df.apply(lambda x: x.str.upper() if x.name == "column1" else x)

Esto formateará todos los valores como texto en mayúsculas en la columna columna1.

Formato condicional utilizando el atributo estilo

Hay algunas formas diferentes de formatear celdas de pandas según las condiciones. La forma más común es usando el atributo estilo.

Puede lograr esto configurando el atributo estilo de la celda en un diccionario de propiedades CSS. Las claves del diccionario deben ser los nombres de las propiedades CSS, y los valores deben ser los valores a los que desea establecer esas propiedades.

import pandas as pd

df = pd.DataFrame([[2, 3, 1], [3, 2, 2], [2, 4, 4]], columns=list("ABC"))
df.style.apply(
    lambda x: ["background: red" if v > x.iloc[0] else "" for v in x], axis=1
)

Producción:

Formato condicional usando atributo de estilo

Formato condicional utilizando el método applymap()

También puede utilizar el método applymap() para formatear todas las celdas en un marco de datos. Este método toma una función como argumento y aplica esa función a cada celda en el marco de datos.

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(4, 3))
df.style.applymap(lambda x: "background-color : yellow" if x > df.iloc[0, 0] else "")

Producción:

Formato condicional usando el atributo applymap

Cualquiera que sea la forma en que formatee sus celdas, asegúrese de hacerlo de una manera que haga que sus datos sean fáciles de leer y comprender.

Conclusión

En conclusión, es posible formatear una celda de pandas de Python en función de su valor de forma condicional. Puede usar la función integrada de estilo, que toma un diccionario de propiedades y valores de estilo CSS.

La propiedad más importante que se debe configurar es la propiedad background-color, que se puede configurar en un código hexadecimal o en un color con nombre. Otras propiedades que se pueden configurar incluyen color (para el color del texto), font-weight (para la negrita del texto) y text-align (para la alineación horizontal del texto).

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Pandas DataFrame