Pandas Bedingte Formatierung

Zeeshan Afridi 21 Juni 2023
  1. Pandas Bedingte Formatierung
  2. Verwenden Sie die bedingte Formatierung von Pandas
  3. Bedingte Formatierung mit dem Attribut style
  4. Abschluss
Pandas Bedingte Formatierung

Möglicherweise möchten Sie alle Zellen in einer Spalte hervorheben, die einen bestimmten Wert enthalten, oder alle Zellen in einer Zeile, die einen bestimmten Schwellenwert überschreiten. Bedingte Formatierung kann auch Fehler oder Ausreißer in Ihren Daten schnell identifizieren.

In diesem Artikel besprechen wir die bedingte Formatierung von Pandas.

Pandas Bedingte Formatierung

Die bedingte Formatierung von Pandas ist ein leistungsstarkes Tool, mit dem Sie Ihre Datenrahmen-Spalten basierend auf Bedingungen formatieren können. Beispielsweise können Sie die bedingte Formatierung verwenden, um alle Zellen in einer Spalte hervorzuheben, die größer als ein bestimmter Wert sind, oder Sie können sie verwenden, um Zellen basierend darauf zu formatieren, ob sie eine bestimmte Textzeichenfolge enthalten.

Es gibt verschiedene Möglichkeiten, Ihre Datenrahmen-Spalten mit der bedingten Pandas-Formatierung zu formatieren. Eine Möglichkeit ist die Verwendung der Funktion Stil; Diese Funktion nimmt ein Wörterbuch von Bedingungen und Formaten und wendet diese Formate auf den Datenrahmen an.

Eine andere Möglichkeit, die bedingte Formatierung von Pandas zu verwenden, ist die Funktion Anwenden; Mit dieser Funktion können Sie eine Funktion basierend auf einer Bedingung auf alle Zellen in einer Spalte anwenden.

Verwenden Sie die bedingte Formatierung von Pandas

Wir können die Funktion round() verwenden, um Zellen mit numerischen Werten bedingt zu formatieren.

df.round(2)

Dadurch werden alle numerischen Werte im Datenrahmen auf zwei Dezimalstellen gerundet. Wir können auch die Funktion format() verwenden, um Zellen mit Textwerten bedingt zu formatieren.

df.format("%s")

Dadurch werden alle Textwerte im Datenrahmen als Zeichenfolgen formatiert. Wir können auch die Funktion apply() verwenden, um Zellen basierend auf benutzerdefinierten Kriterien bedingt zu formatieren.

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

Dadurch werden alle Werte in der Spalte Spalte1 als Großbuchstaben formatiert.

Bedingte Formatierung mit dem Attribut style

Es gibt verschiedene Möglichkeiten, Pandas-Zellen basierend auf Bedingungen zu formatieren. Am gebräuchlichsten ist die Verwendung des Attributs style.

Sie können dies erreichen, indem Sie das Attribut style der Zelle auf ein Wörterbuch mit CSS-Eigenschaften setzen. Die Schlüssel des Wörterbuchs sollten die Namen der CSS-Eigenschaften sein, und die Werte sollten die Werte sein, auf die Sie diese Eigenschaften setzen möchten.

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
)

Ausgang:

Bedingte Formatierung mit Stilattribut

Bedingte Formatierung mit der applymap()-Methode

Sie können auch die Methode applymap() verwenden, um alle Zellen in einem Datenrahmen zu formatieren. Diese Methode nimmt eine Funktion als Argument und wendet diese Funktion auf jede Zelle im Datenrahmen an.

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 "")

Ausgang:

Bedingte Formatierung mit dem applymap-Attribut

Unabhängig davon, wie Sie Ihre Zellen formatieren, stellen Sie sicher, dass Ihre Daten leicht lesbar und verständlich sind.

Abschluss

Zusammenfassend ist es möglich, eine Python-Pandas-Zelle basierend auf ihrem Wert bedingt zu formatieren. Sie können die eingebaute style-Funktion verwenden, die ein Wörterbuch von CSS-Style-Eigenschaften und -Werten verwendet.

Die wichtigste zu setzende Eigenschaft ist die Eigenschaft background-color, die auf einen Hex-Code oder eine benannte Farbe gesetzt werden kann. Weitere einstellbare Eigenschaften sind color (für die Textfarbe), font-weight (für die Fettschrift des Textes) und text-align (für die horizontale Ausrichtung des Textes).

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

Verwandter Artikel - Pandas DataFrame