Pandas DataFrame DataFrame.where()-Funktion

Minahil Noor 30 Januar 2023
  1. Syntax von pandas.DataFrame.where()
  2. Beispiel-Codes: DataFrame.where()
  3. Beispiel-Codes: DataFrame.where() zur Angabe eines Wertes
  4. Beispielcodes: DataFrame.where() zur Verwendung mehrerer Bedingungen
Pandas DataFrame DataFrame.where()-Funktion

Die Funktion Python Pandas DataFrame.where() akzeptiert eine Bedingung als Parameter und erzeugt entsprechende Ergebnisse. Sie prüft die Bedingung für jeden Wert des DataFrame und wählt die Werte aus, die die Bedingung akzeptieren. Die Funktionalität der Funktion ist ähnlich wie bei der if-else-Anweisung. Der Wert, der die Bedingung nicht akzeptiert, wird standardmäßig durch einen NaN-Wert ersetzt.

Syntax von pandas.DataFrame.where()

DataFrame.where(
    cond,
    other=NaN,
    inplace=False,
    axis=None,
    level=None,
    errors="raise",
    try_cast=False,
)

Parameter

Diese Funktion hat mehrere Parameter. Die Standardwerte aller Parameter sind oben erwähnt.

cond Es handelt sich um eine boolesche Series oder DataFrame, eine Array-ähnliche Struktur oder ein Callable. Sie stellt die Bedingung/Bedingungen dar, die für jeden Wert des DataFrame zu prüfen sind. Wenn die Bedingung True ist, wird der ursprüngliche Wert nicht ersetzt. Andernfalls wird er durch einen NaN-Wert ersetzt.
other Es ist ein Skalar, Series/DataFrame, oder ein Callable. Er repräsentiert den Wert, der für den ursprünglichen Wert gesetzt wird, wenn die Bedingung False ist.
inplace Es ist ein Boolean-Wert. Er gibt Auskunft über die Operation auf Daten. Wenn er “wahr” ist, nimmt er selbst Änderungen vor.
axis Es ist ein ganzzahliger Wert. Er sagt über die Arbeitsachse entweder Zeilen oder Spalten aus.
level Es ist ein ganzzahliger Wert. Er gibt Auskunft über das Niveau.
errors Es ist eine Zeichenkette. Sie gibt Auskunft über die Fehler. Sie akzeptiert zwei Optionen: raise oder ignore. Wenn ihr Wert raise ist, erlaubt sie das Auslösen von Ausnahmen. Wenn ihr Wert ignore ist, ignoriert sie die Ausnahmen und gibt das ursprüngliche Objekt zurück, wenn ein Fehler auftritt.
try_cast Es ist ein boolescher Wert. Er gießt die Ausgabe der Funktion, wenn möglich, auf den ursprünglichen Eingabetyp.

Zurück

Sie gibt je nach Bedingung den geänderten DataFrame zurück.

Beispiel-Codes: DataFrame.where()

Wir werden mehr über diese Funktion erfahren, indem wir sie im nächsten Codebeispiel implementieren.

import pandas as pd

dataframe=pd.DataFrame({
                        'A': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95,
                            5: 45,
                            6: 67,
                            7: 12,
                            8: 23,
                            9: 50},
                        'B': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45,
                            5: 35,
                            6: 74,
                            7: 52,
                            8: 93,
                            9: 18}
                        })

print(dataframe)

Das Beispiel DataFrame ist,

     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95  45
5   45  35
6   67  74
7   12  52
8   23  93
9   50  18

Diese Funktion hat einen obligatorischen Parameter, nämlich cond.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)

Ausgabe:

       A     B
0   60.0  90.0
1  100.0  75.0
2   80.0  82.0
3   78.0  64.0
4   95.0   NaN
5    NaN   NaN
6   67.0  74.0
7    NaN  52.0
8    NaN  93.0
9    NaN   NaN

Die Werte, die nicht größer als 50 sind, d.h. die die Bedingung nicht erfüllen, werden durch einen NaN-Wert ersetzt.

Beispiel-Codes: DataFrame.where() zur Angabe eines Wertes

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)

Ausgabe:

     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95   0
5    0   0
6   67  74
7    0  52
8    0  93
9    0   0

Hier werden die Werte, die die Bedingung nicht erfüllen, durch einen benutzerdefinierten Wert ersetzt.

Beispielcodes: DataFrame.where() zur Verwendung mehrerer Bedingungen

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)

Ausgabe:

    A   B
0   0   0
1   0   0
2  80   0
3   0   0
4   0  45
5  45  35
6   0   0
7  12   0
8  23   0
9   0  18

Der zurückgegebene DataFrame enthält die Werte, die beide Bedingungen erfüllen.

Verwandter Artikel - Pandas DataFrame