我想從'B'中的日期中減去'A'中的日期,並添加一個包含差異的新列。在DataFrame pandas中添加日期與日期之間的天數列
df
A B
one 2014-01-01 2014-02-28
two 2014-02-03 2014-03-01
我試過以下,但得到一個錯誤,當我嘗試這包括在for循環中...
import datetime
date1=df['A'][0]
date2=df['B'][0]
mdate1 = datetime.datetime.strptime(date1, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(date2, "%Y-%m-%d").date()
delta = (mdate1 - rdate1).days
print delta
我應該怎麼辦?
我們是否可以擺脫結果中的「天」部分,因爲我們只需要查看數值即。在這種情況下-58,-26。 – 0nir
擴展@AndyHayden評論,這有效,但它應該'pd.offsets.Day(1)'(與's')。我也通常否定它,所以你得到'(df ['A'] - df ['B'])/ pd.offsets.Day(-1)' – dirkjot
然而,如果你想在整個系列上做到這一點,需要'(df ['A'] - df ['B'])/ np.timedelta64(-1,'D')'因爲我不完全理解的原因。 – dirkjot