2015-10-06 52 views
0

下,我有一個數據幀: enter image description herePython的大熊貓日期時間 - 只改變一年特定條件

Opening Date2Closing Date2是我創建硅藻土對象。

我想添加另一列爲Closing Date Actual

如果Change Closing Date爲真,我想將Closing Date2列添加到我的新列中,並添加1年。如果它是假的,我想補充一下。

例如,在新列,第5行是:

2015-06-25 
2015-03-19 
2015-01-22 
2014-04-04 
2014-02-07 

我嘗試使用列表理解,時間增量的功能,但不能使它工作。

+0

實際數據將是很好。 – Leb

+0

實際數據? @Leb – lorelai

回答

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'])