2014-02-09 168 views
0

Python的时间差异可以说我有日期的数组:在大熊猫

df=pd.DataFrame({'Date': [ '5/4/1985', '6/13/1983', '6/13/1982', '12/28/1987'], 'Name': ['J','K','L','M']}) 

,我想找到他们多年,今天的区别,周或季度(在一年四个)。

到目前为止,我知道我会用pd.datetime.now()来表示今天。

回答

0

要获得纳米第二个不同的数,只要做到:

In [60]: 
pd.datetime.now()-pd.to_datetime(df['Date']) 
Out[60]: 
0 10508 days, 15:56:08.609000 
1 11199 days, 15:56:08.609000 
2 11564 days, 15:56:08.609000 
3 9540 days, 15:56:08.609000 
Name: Date, dtype: timedelta64[ns] 

要获得天或数年之差(ETC):

q=pd.datetime.now()-pd.to_datetime(df['Date']) 
array(q).astype('timedelta64[D]').astype(int) #in days 
array(q).astype('timedelta64[Y]').astype(int) #in years 
+0

有没有办法让年,季度或几周而不是几天 – user3084006

+0

对不起,默认值不是几天,而是几纳秒。纠正了这一点。我不知道你是否可以得到宿舍,'timedelta64'有4种类型:'D W M Y',分别为日,周,月和年。 –

+0

所以我想把它改为宿舍的唯一方法是改为几个月然后再除以3? – user3084006