Pandas - 日期功能

  • 简述

    扩展时间序列,日期功能在财务数据分析中发挥着重要作用。在使用日期数据时,我们会经常遇到以下情况 -
    • 生成日期序列
    • 将日期系列转换为不同的频率
  • 创建日期范围

    使用date.range()通过指定周期和频率函数,我们可以创建日期序列。默认情况下,范围的频率为天。
    
    import pandas as pd
    print pd.date_range('1/1/2011', periods=5)
    
    它的输出如下 -
    
    DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
       dtype='datetime64[ns]', freq='D')
    
  • 更改日期频率

    
    import pandas as pd
    print pd.date_range('1/1/2011', periods=5,freq='M')
    
    它的输出如下 -
    
    DatetimeIndex(['2011-01-31', '2011-02-28', '2011-03-31', '2011-04-30', '2011-05-31'],
       dtype='datetime64[ns]', freq='M')
    
  • bdate_range

    bdate_range() 代表业务日期范围。与 date_range() 不同,它不包括周六和周日。
    
    import pandas as pd
    print pd.date_range('1/1/2011', periods=5)
    
    它的输出如下 -
    
    DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
       dtype='datetime64[ns]', freq='D')
    
    请注意,在 3 月 3 日之后,日期会跳到 3 月 6 日,不包括 4 日和 5 日。只需检查您的日历即可。
    便利功能,如date_rangebdate_range利用各种频率混叠。date_range 的默认频率是日历日,而 bdate_range 的默认频率是工作日。
    
    import pandas as pd
    start = pd.datetime(2011, 1, 1)
    end = pd.datetime(2011, 1, 5)
    print pd.date_range(start, end)
    
    它的输出如下 -
    
    DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
       dtype='datetime64[ns]', freq='D')
    
  • 偏移别名

    为有用的常见时间序列频率提供了许多字符串别名。我们将这些别名称为偏移别名。
    别名 描述 别名 描述
    B 工作日频率 BQS 营业季度开始频率
    D 日历日频率 A 年度(年)结束频率
    W 每周频率 BA 营业年终频率
    M 月末频率 BAS 营业年度开始频率
    SM 半月末频率 BH 营业时间频率
    BM 营业月结束频率 H 每小时频率
    MS 月开始频率 T, min 分钟频率
    SMS 短信半月开始频率 S 第二频率
    BMS 营业月开始频率 L, ms 毫秒
    Q 季末频率 U, us 微秒
    BQ 业务季度结束频率 N 纳秒
    QS 季度开始频率