Pandas DataFrame DataFrame.where()-Funktion
-
Syntax von
pandas.DataFrame.where()
-
Beispiel-Codes:
DataFrame.where()
-
Beispiel-Codes:
DataFrame.where()
zur Angabe eines Wertes -
Beispielcodes:
DataFrame.where()
zur Verwendung mehrerer Bedingungen
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.