Wenden Sie die If-Else-Bedingung in einem Pandas DataFrame an
-
Verwenden Sie
DataFrame.loc[]
, um dieif-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden -
Verwenden Sie
DataFrame.apply()
, um dieif-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden -
Verwenden Sie
NumPy.select()
, um dieif-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden -
Verwenden Sie
lambda
mitapply()
, um dieif-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden
Pandas ist eine Open-Source-Datenanalysebibliothek in Python. Es bietet viele integrierte Methoden, um Operationen mit numerischen Daten durchzuführen.
In einigen Fällen möchten wir die if-else
-Bedingungen auf einen Pandas-Datenrahmen anwenden, um die Datensätze zu filtern oder Berechnungen gemäß einigen Bedingungen durchzuführen. Python bietet viele Möglichkeiten, if-else
in einem Pandas-Datenrahmen zu verwenden.
Verwenden Sie DataFrame.loc[]
, um die if-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden
[loc[]
] ist eine Eigenschaft des Pandas-Datenrahmens, der zum Auswählen oder Filtern einer Gruppe von Zeilen oder Spalten verwendet wird. Im folgenden Beispiel verwenden wir diese Eigenschaft, um die Datensätze zu filtern, die eine bestimmte Bedingung erfüllen.
Hier haben wir einen Pandas-Datenrahmen, der aus den Daten der Schüler besteht. Mit loc[]
können wir jeweils nur eine einzige Bedingung anwenden.
Wir filtern die Schüler mit Noten größer oder gleich 60 in der ersten Bedingung heraus und ordnen ihr Ergebnis als Bestanden
in der neuen Spalte Ergebnis
zu. In ähnlicher Weise werden wir für die restlichen Ergebnisse des Schülers in einer anderen Bedingung Nicht bestanden
festlegen.
Beispielcode:
# Python 3.x
import pandas as pd
df = pd.DataFrame(
{"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
df.loc[df["Marks"] >= 60, "Result"] = "Pass"
df.loc[df["Marks"] < 60, "Result"] = "Fail"
display(df)
Ausgang:
Verwenden Sie DataFrame.apply()
, um die if-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden
Die apply()
-Methode verwendet die Achse des Datenrahmens (Zeile oder Spalte), um eine Funktion anzuwenden. Wir können unsere definierte Funktion, die aus if-else
-Bedingungen besteht, erstellen und auf den Pandas-Datenrahmen anwenden.
Hier haben wir eine Funktion assign_Result()
definiert und auf die Spalte Marks
angewendet. Die Funktion besteht aus if-else
-Bedingungen, die das Ergebnis anhand der Marks
zuweisen und dies für jede Spaltenzeile aufrufen.
Beispielcode:
# Python 3.x
import pandas as pd
df = pd.DataFrame(
{"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
def assign_Result(marks):
if marks >= 60:
result = "Pass"
else:
result = "Fail"
return result
df["Result"] = df["Marks"].apply(assign_Result)
display(df)
Ausgang:
Verwenden Sie NumPy.select()
, um die if-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden
Wir können mehrere Bedingungen für eine Spalte in einer Liste und ihre entsprechenden Werte in einer anderen Liste definieren, wenn die Bedingung True
ist. Die Methode select()
nimmt die Liste der Bedingungen und ihre entsprechende Werteliste als Argumente und weist sie der Spalte Ergebnis
zu.
Beispielcode:
# Python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(
{"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
conditions = [(df["Marks"] >= 60), (df["Marks"] < 60)]
result = ["Pass", "Fail"]
df["Result"] = np.select(conditions, result)
display(df)
Ausgang:
Verwenden Sie lambda
mit apply()
, um die if-else
-Bedingung in einem Pandas DataFrame in Python anzuwenden
Ein lambda
ist eine kleine anonyme Funktion, die aus einem einzigen Ausdruck besteht. Wir verwenden lambda
mit apply()
in der Spalte Marks
.
Das x
enthält die Markierungen im Ausdruck lambda
. Wir haben die Bedingung if-else
auf das x
angewendet und das Ergebnis entsprechend in der Spalte Ergebnis
zugeordnet.
Beispielcode:
# Python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(
{"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
df["Result"] = df["Marks"].apply(lambda x: "Pass" if x >= 60 else "Fail")
display(df)
Ausgang:
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn