Python dataframe将整数列添加到日期时间列中

Python dataframe将整数列添加到日期时间列中,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个名为transaction\u date的列,它存储日期,例如1970-01-01,payment\u plan\u days存储天数,30天,70天,任意整数 我应该如何将付款计划\u日期添加到交易\u日期中,以创建一个新列作为会员资格\u到期\u日期 我试过使用下面的代码,但由于它们的数据类型不同,所以无法使用 df_transactions.loc[(df_transactions['membership_expire_date'] == '19700101'), 'members

我有一个名为
transaction\u date
的列,它存储日期,例如
1970-01-01
payment\u plan\u days
存储天数,30天,70天,任意整数

我应该如何将
付款计划\u日期
添加到
交易\u日期
中,以创建一个新列作为
会员资格\u到期\u日期

我试过使用下面的代码,但由于它们的数据类型不同,所以无法使用

df_transactions.loc[(df_transactions['membership_expire_date'] == '19700101'), 'membership_expire_date'] = 
    df_transactions.loc[(df_transactions['membership_expire_date'] == '19700101'), 'transaction_date'] 
    + df_transactions.loc[(df_transactions['membership_expire_date'] == '19700101'), 'payment_plan_days']
我认为你需要:

样本:

dates=pd.to_datetime(['1970-01-01','2005-07-17', '2005-07-17'])
df = pd.DataFrame({'transaction_date':dates, 'payment_plan_days':[30,70,100]})

df['new'] = df['transaction_date'] + pd.to_timedelta(df['payment_plan_days'], unit='d')
print (df)
   payment_plan_days transaction_date        new
0                 30       1970-01-01 1970-01-31
1                 70       2005-07-17 2005-09-25
2                100       2005-07-17 2005-10-25

与jezrael答案相同,仅使用datetime的timedelta函数:

from datetime import timedelta
dates=pd.to_datetime(['1970-01-01','2005-07-17', '2005-07-17'])
df = pd.DataFrame({'transaction_date':dates, 'payment_plan_days':[30,70,100]})
df.loc[:, 'expiration_date'] = list(map(lambda td, ppd: td+timedelta(ppd), df['transaction_date'], df['payment_plan_days']))

就是这样!将在10分钟内接受。谢谢
from datetime import timedelta
dates=pd.to_datetime(['1970-01-01','2005-07-17', '2005-07-17'])
df = pd.DataFrame({'transaction_date':dates, 'payment_plan_days':[30,70,100]})
df.loc[:, 'expiration_date'] = list(map(lambda td, ppd: td+timedelta(ppd), df['transaction_date'], df['payment_plan_days']))