擅长:python、mysql、java
<p>这里有一种不需要<code>dateutil.relativedelta</code>的方法。请注意,我将<code>MONTHS</code>转换为一个整数(并且仅在删除空值之后,因为<code>int</code>不接受空值),因为我想每年进行12个月的整数除法,利用商是以年为单位的增量,模/余数是以月为单位的增量。</p>
<pre><code>import pandas as pd
df = pd.DataFrame({'START_DATE':['2015-03-21','2015-03-21','2015-03-21','2015-03-21',
'2015-03-21','2015-01-01','2017-01-01', None,None,None],
'MONTHS':[240,240,240,240,240,120,240,None,None,None]},
dtype='object') # replicate example data
df.dropna(inplace=True) # drop nulls so can convert MONTHS to int
df['START_DATE'] = pd.to_datetime(df['START_DATE'])
df['MONTHS'] = df.MONTHS.astype(int)
df.apply(lambda x: pd.datetime(x.START_DATE.year + x.MONTHS / 12,
x.START_DATE.month + x.MONTHS % 12,
x.START_DATE.day), axis=1)
</code></pre>