Par exemple, supposons qu'il existe la "fonction qui traite DataFrame" suivante.
import pandas as pd
def preprocess(df: pd.DataFrame) -> pd.DataFrame:
df["full_name"] = df["first_name"] + " " + df["last_name"]
return df
L'argument DataFrame pour cette fonction devrait contenir les colonnes «first_name» et «last_name», mais vous pouvez vérifier cela au début de la fonction.
Cela peut être facilement écrit en utilisant l'opération set type [^ set].
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
Si vous l'écrivez comme ceci, il lancera une ValueError si la colonne requise est manquante.
df = pd.DataFrame([{"first_name": "John", "age": 30}]) # 'last_name'DataFrame avec des colonnes manquantes
preprocess(df) #=> ValueError: missing columns: {'last_name'}
Recommended Posts