将 lambda 函数应用于 pandas 数据框中的列列表

Apply lambda function to list of columns in pandas dataframe

我有一个来自 csv 的大型数据框(170 列)。其中许多是日期但不被视为日期。我列出了这些

date_cols = [col for col in df.columns if 'date' in col] 我想将一个函数应用于所有这些列(总共 13 个) 我如何在该列表上应用一个函数。目前已尝试:

modDfObj = df.apply(lambda x: pd.to_datetime(x) if x.name in date_cols else x)

通过filterapplymap

df = df.filter(like='date').applymap(lambda x: pd.to_datetime(x, errors='coerce'))

已更新:

date_cols = [col for col in df.columns if 'date' in col]
df[date_cols] = df[date_cols].applymap(lambda x: pd.to_datetime(x, errors='coerce'))