Python 如何正确地将基于向量的函数应用于数据帧列?

Python 如何正确地将基于向量的函数应用于数据帧列?,python,pandas,dataframe,datetime,lambda,Python,Pandas,Dataframe,Datetime,Lambda,我试图应用一个函数,该函数以特定的格式返回特定的日期,但是我很难将此函数应用于新的数据帧列 以下是我目前得到的信息: import pandas as pd import datetime actual_date = datetime.now() actual_date = datetime.strptime("{}/{}/{}".format('01', actual_date.month, actual_date.year), "%d/%m/%Y")

我试图应用一个函数,该函数以特定的格式返回特定的日期,但是我很难将此函数应用于新的数据帧列

以下是我目前得到的信息:

import pandas as pd
import datetime

actual_date = datetime.now()
actual_date = datetime.strptime("{}/{}/{}".format('01', actual_date.month, actual_date.year), "%d/%m/%Y")

def set_date(actual_date):
    result = actual_date - dateutil.relativedelta.relativedelta(months=1)
    print(datetime.strftime(result, "%d/%m/%Y"))

df['date'] = df.apply(lambda x: set_date(x[actual_date]), axis=1)
出现下一个错误:

KeyError:datetime.datetime(2021,2,1,0,0)

预期输出可以是一个数据帧列,其中行值为
set\u date
output


如何完成此任务?

问题与
lambda的
x
设置有关:

df['date']= df.apply(lambda x: set_date(actual_date), axis=1)

我怀疑它遗漏了lambda函数的目标列

df['date']= df['date'].apply(lambda x: set_date(actual_date), axis=1)