我有下面的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),大大提高了代码的速度。
我想知道是否有人知道我能做些什么来避免apply方法,让我的datetime Series提取datetime Series的day of datetime。此外,如果可能的话,不要太具体,因为我想做同样的提取month。
发布于 2017-05-11 17:53:48
您可以使用 accessor
In [11]: dates.dt.day
Out[11]:
0 1
1 2
2 3
3 4
4 5
dtype: int64https://stackoverflow.com/questions/43922467
复制相似问题