Python Pandas: 使用用户自定义函数填充空白变量

Python Pandas: Using a user defined function to fill in a blank variable

我正在尝试找出一种使用用户定义的函数来填充空白列的方法。我有一个开始日期列和一个结束日期列。结束日期当前为空白。数据已作为 csv 读入名为 df 的 pandas 数据帧。

我特别想做的是构建一个用户定义的函数,该函数将开始日期列中的日期加上 1 年,然后将其放入结束日期列。大意是这样的:

起始数据帧:

Start_Date        End_Date
 12/4/2013        NaN
 07/16/2012       NaN
 03/05/1999       NaN

增加一年的输出:

Start_Date        End_Date
 12/04/2013       12/03/2014
 07/16/2012       07/15/2013
 03/05/1999       03/04/2000

我意识到这可以通过以下代码完成:

from datetime import timedelta
df['END_DATE'] = df['START_DATE'] + timedelta(days=365)

但我真的很想使用用户定义的函数(如果可能的话):

def add_1_year(x):
   ed = [x['START_DATE']+ timedelta(days=365)
   return pd.Series(ed)

 df['END_DATE'].apply(add_1_year)
 df[['START_DATE','END_DATE']]

我希望这同样有意义,但我们将不胜感激任何建议。

谢谢

假设 'Start_Date' 已经是一个日期时间:

def add_1_year(x):
    x['End_Date'] = x['Start_Date']+ timedelta(days=365)
    return x

df.apply(add_1_year,axis=1)

应该做