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

问题描述

我有一个来自 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)

解决方法

通过 applymapdf = 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'))

更新:

[{"product_id": 14,"quantity": 1},{"product_id": 18,{"product_id": 15,"quantity": 1}]