Opening Date2
和Closing Date2
是我创建的硅藻土对象。
我想将另一列添加为Closing Date Actual
。
如果Change Closing Date
为True,我想将Closing Date2
列添加到我的新列中,并添加1年。如果它是假的,我想添加它。
例如,在新列中,前5行将是:
2015-06-25
2015-03-19
2015-01-22
2014-04-04
2014-02-07
我尝试使用列表推导,时间增量函数,但无法使其正常工作。
答案 0 :(得分:1)
这需要版本0.17
(很快就会发布,或者可以使用conda install -c pandas pandas
安装版本候选版本)。有关详细信息,请参阅DateOffset
文档。
df['Closing Date2'] = np.where(df['Change Closing Date'],
df['Closing Date'] + pd.DateOffset(years=1),
df['Closing Date'])
在旧版本中,您必须将df['Closing Date']
包裹在DatetimeIndex
中,如下所示:
df['Closing Date2'] = np.where(df['Change Closing Date'],
pd.DatetimeIndex(df['Closing Date']) + pd.DateOffset(years=1),
df['Closing Date'])