Angenommen, es gibt die folgende "Funktion, die DataFrame verarbeitet".
import pandas as pd
def preprocess(df: pd.DataFrame) -> pd.DataFrame:
df["full_name"] = df["first_name"] + " " + df["last_name"]
return df
Es wird erwartet, dass das DataFrame-Argument für diese Funktion die Spalten "Vorname" und "Nachname" enthält. Möglicherweise möchten Sie dies jedoch am Anfang der Funktion überprüfen.
Dies kann einfach mit der Operation set type [^ set] geschrieben werden.
import pandas as pd
def preprocess(df: pd.DataFrame) -> pd.DataFrame:
required_columns = {"first_name", "last_name"}
if not required_columns <= set(df.columns):
raise ValueError(f"missing columns: {required_columns - set(df.columns)}")
df["full_name"] = df["first_name"] + " " + df["last_name"]
return df
Wenn Sie es so schreiben, wird ein ValueError ausgelöst, wenn die erforderliche Spalte fehlt.
df = pd.DataFrame([{"first_name": "John", "age": 30}]) # 'last_name'DataFrame mit fehlenden Spalten
preprocess(df) #=> ValueError: missing columns: {'last_name'}
Recommended Posts