2017-05-11 116 views
1

我有以下Series並且想要提取當天的datetime從日期時間提取日期和月份系列沒有應用

import pandas as pd 

dates = pd.Series(pd.bdate_range('2017-05-01', '2017-05-05')) 

到目前爲止,我能想到的唯一的解決辦法是使用apply方法:

dates.apply(lambda x: x.day) 

不過,我注意到,對於大pandas dataframe,該apply方法是不是超級快。在前面的代碼中,我必須在幾天內轉換一個timedelta,並使用.astype('timedelta64[D]')而不是.apply(lambda x: x.days),這大大提高了我的代碼速度。

我想知道是否有人知道我能做些什麼來避免我的datetime Seriesapply方法提取我的datetimeday。另外,如果可能的話,不要太具體,因爲我想要提取month

+0

使用'dates.day'或'dates.dt.day' – EdChum

+0

'dates.day'將無法正常工作,但'dates.dt.day'呢,謝謝 –

+0

我沒有看到系列ctor,沒有它你會得到一個datetimeindex日期。天會工作 – EdChum

回答

4

可以使用dt accessor

In [11]: dates.dt.day 
Out[11]: 
0 1 
1 2 
2 3 
3 4 
4 5 
dtype: int64 
相關問題