将 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)
通过filter
和applymap
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'))
我有一个来自 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)
通过filter
和applymap
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'))