美文网首页
Series第十讲 Datetime 属性

Series第十讲 Datetime 属性

作者: butters001 | 来源:发表于2020-09-24 11:08 被阅读0次

    Series第十讲 Datetime 属性

    本节课将讲解Pandas-Series中关于Datetime的属性。

    Datetime 属性

    • Series.dt.date
    • Series.dt.time
    • Series.dt.timetz
    • Series.dt.year
    • Series.dt.month
    • Series.dt.day
    • Series.dt.hour
    • Series.dt.minute
    • Series.dt.second
    • Series.dt.microsecond
    • Series.dt.nanosecond
    • Series.dt.week
    • Series.dt.dayofweek
    • Series.dt.weekday
    • Series.dt.dayofyear
    • Series.dt.quarter
    • Series.dt.is_month_start
    • Series.dt.is_month_end
    • Series.dt.is_quarter_start
    • Series.dt.is_quarter_end
    • Series.dt.is_year_start
    • Series.dt.is_year_end
    • Series.dt.is_leap_year
    • Series.dt.daysinmonth
    • Series.dt.days_in_month
    • Series.dt.tz
    • Series.dt.freq

    详细介绍

    首先导入所需依赖包,创建一个时间类型的Index

    In [1]: import numpy as np                                                               
    In [2]: import pandas as pd
    
    In [3]: index = pd.date_range('1/1/2000', periods=4, freq='T')
    In [6]: index                                                                   
    Out[6]: 
    DatetimeIndex(['2000-01-01 00:00:00', '2000-01-01 00:01:00',
                   '2000-01-01 00:02:00', '2000-01-01 00:03:00'],
                  dtype='datetime64[ns]', freq='T')
    

    1. Series.dt.date

    返回python datetime.date(年/月/日)对象的numpy数组。

    In [4]: index.date                                                              
    Out[4]: 
    array([datetime.date(2000, 1, 1), datetime.date(2000, 1, 1),
           datetime.date(2000, 1, 1), datetime.date(2000, 1, 1)], dtype=object)                                                       
    

    2. Series.dt.time

    返回datetime.time(时/分)的numpy数组。

    In [5]: index.time                                                              
    Out[5]: 
    array([datetime.time(0, 0), datetime.time(0, 1), datetime.time(0, 2),
           datetime.time(0, 3)], dtype=object)
    

    3. Series.dt.timetz

    返回datetime.time的numpy数组,其中还包含时区信息(如果有时区的话).

    In [7]: index.timetz                                                            
    Out[7]: 
    array([datetime.time(0, 0), datetime.time(0, 1), datetime.time(0, 2),
           datetime.time(0, 3)], dtype=object)
    
    In [35]: index.tz_localize('UTC').timetz                                        
    Out[35]: 
    array([datetime.time(0, 0, tzinfo=<UTC>),
           datetime.time(0, 1, tzinfo=<UTC>),
           datetime.time(0, 2, tzinfo=<UTC>),
           datetime.time(0, 3, tzinfo=<UTC>)], dtype=object)
    

    4. Series.dt.year

    哪年。

    In [8]: index.year                                                              
    Out[8]: Int64Index([2000, 2000, 2000, 2000], dtype='int64')
    

    5. Series.dt.month

    哪月。

    In [9]: index.month                                                             
    Out[9]: Int64Index([1, 1, 1, 1], dtype='int64')
    

    6. Series.dt.day

    哪日。

    In [10]: index.day                                                              
    Out[10]: Int64Index([1, 1, 1, 1], dtype='int64')
    

    7. Series.dt.hour

    小时。

    In [11]: index.hour                                                             
    Out[11]: Int64Index([0, 0, 0, 0], dtype='int64')
    

    8. Series.dt.minute

    分钟。

    In [12]: index.minute                                                           
    Out[12]: Int64Index([0, 1, 2, 3], dtype='int64')
    

    9. Series.dt.second

    秒。

    In [13]: index.second                                                           
    Out[13]: Int64Index([0, 0, 0, 0], dtype='int64')
    

    10. Series.dt.microsecond

    微秒。

    In [14]: index.microsecond                                                      
    Out[14]: Int64Index([0, 0, 0, 0], dtype='int64')
    

    11. Series.dt.nanosecond

    纳秒。

    In [15]: index.nanosecond                                                       
    Out[15]: Int64Index([0, 0, 0, 0], dtype='int64')
    

    12. Series.dt.week

    一年中的第几周。

    In [19]: index.week                                                             
    Out[19]: Int64Index([52, 52, 52, 52], dtype='int64')
    

    13. Series.dt.dayofweek

    周几,星期一= 0,星期日= 6。

    # 周六
    In [20]: index.dayofweek                                                        
    Out[20]: Int64Index([5, 5, 5, 5], dtype='int64')
    

    14. Series.dt.weekday

    同dayofweek。

    15. Series.dt.dayofyear

    一年中的第几天。

    In [21]: index.dayofyear                                                        
    Out[21]: Int64Index([1, 1, 1, 1], dtype='int64')
    

    16. Series.dt.quarter

    属于第几个季度,1/2/3月为1季度,4/5/6为2季度。

    In [22]: index.quarter                                                          
    Out[22]: Int64Index([1, 1, 1, 1], dtype='int64')
    

    17. Series.dt.is_month_start

    日期是否为每月的第一天。

    In [23]: index.is_month_start                                                   
    Out[23]: array([ True,  True,  True,  True])
    

    18. Series.dt.is_month_end

    日期是否为每月的最后一天。

    In [24]: index.is_month_end                                                     
    Out[24]: array([False, False, False, False])
    

    19. Series.dt.is_quarter_start

    日期是否为一个季度的第一天。

    In [25]: index.is_quarter_start                                                 
    Out[25]: array([ True,  True,  True,  True])
    

    20. Series.dt.is_quarter_end

    日期是否为一个季度的最后一天。

    In [26]: index.is_quarter_end                                                   
    Out[26]: array([False, False, False, False])
    

    21. Series.dt.is_year_start

    日期是否为一年的第一天。

    In [27]: index.is_year_start                                                    
    Out[27]: array([ True,  True,  True,  True])
    

    22. Series.dt.is_year_end

    日期是否为一年的最后一天。

    In [28]: index.is_year_end                                                      
    Out[28]: array([False, False, False, False])
    

    23. Series.dt.is_leap_year

    是否属于闰年。

    In [29]: index.is_leap_year                                                     
    Out[29]: array([ True,  True,  True,  True])
    

    24. Series.dt.daysinmonth

    该月份一共有几天。

    In [30]: index.daysinmonth                                                      
    Out[30]: Int64Index([31, 31, 31, 31], dtype='int64')
    

    25. Series.dt.days_in_month

    同daysinmonth。

    26. Series.dt.tz

    返回时区(如果有)。

    # 返回None,因为未设置时区
    In [32]: index.tz 
    
    # 通过tz_localize转换为指定时区 tz_localize方法上一讲有介绍
    In [34]: index.tz_localize('UTC').tz                                            
    Out[34]: <UTC>
    

    27. Series.dt.freq

    返回此PeriodArray的频率对象,即创建对象时的freq值。

    In [31]: index.freq                                                             
    Out[31]: <Minute>
    

    相关文章

      网友评论

          本文标题:Series第十讲 Datetime 属性

          本文链接:https://www.haomeiwen.com/subject/dwszyktx.html