• Pandas日期功能


    日期功能扩展了时间序列,在财务数据分析中起主要作用。在处理日期数据的同时,我们经常会遇到以下情况 -

    • 生成日期序列
    • 将日期序列转换为不同的频率

    创建一个日期范围

    通过指定周期和频率,使用date.range()函数就可以创建日期序列。 默认情况下,范围的频率是天。参考以下示例代码 -

    import pandas as pd
    datelist = pd.date_range('2020/11/21', periods=5)
    print(datelist)
    
    Python

    执行上面示例代码,得到以下结果 -

    DatetimeIndex(['2020-11-21', '2020-11-22', '2020-11-23', '2020-11-24',
                   '2020-11-25'],
                  dtype='datetime64[ns]', freq='D')
    
    Shell

    更改日期频率

    import pandas as pd
    datelist = pd.date_range('2020/11/21', periods=5,freq='M')
    print(datelist)
    
    Python

    执行上面示例代码,得到以下结果 -

    DatetimeIndex(['2020-11-30', '2020-12-31', '2021-01-31', '2021-02-28',
                   '2021-03-31'],
                  dtype='datetime64[ns]', freq='M')
    
    Shell

    bdate_range()函数

    bdate_range()用来表示商业日期范围,不同于date_range(),它不包括星期六和星期天。

    import pandas as pd
    datelist = pd.date_range('2011/11/03', periods=5)
    print(datelist)
    
    Python

    执行上面示例代码,得到以下结果 -

    DatetimeIndex(['2017-11-03', '2017-11-06', '2017-11-07', '2017-11-08',
                   '2017-11-09'],
                  dtype='datetime64[ns]', freq='B')
    
    Shell

    观察到11月3日以后,日期跳至11月6日,不包括4日和5日(因为它们是周六和周日)。

    date_rangebdate_range这样的便利函数利用了各种频率别名。date_range的默认频率是日历中的自然日,而bdate_range的默认频率是工作日。参考以下示例代码 -

    import pandas as pd
    start = pd.datetime(2017, 11, 1)
    end = pd.datetime(2017, 11, 5)
    dates = pd.date_range(start, end)
    print(dates)
    
    Python

    执行上面示例代码,得到以下结果 -

    DatetimeIndex(['2017-11-01', '2017-11-02', '2017-11-03', '2017-11-04',
                   '2017-11-05'],
                  dtype='datetime64[ns]', freq='D')
    
    Shell

    偏移别名

    大量的字符串别名被赋予常用的时间序列频率。我们把这些别名称为偏移别名。

    别名描述说明
    B 工作日频率
    BQS 商务季度开始频率
    D 日历/自然日频率
    A 年度(年)结束频率
    W 每周频率
    BA 商务年底结束
    M 月结束频率
    BAS 商务年度开始频率
    SM 半月结束频率
    BH 商务时间频率
    SM 半月结束频率
    BH 商务时间频率
    BM 商务月结束频率
    H 小时频率
    MS 月起始频率
    T, min 分钟的频率
    SMS SMS半开始频率
    S 秒频率
    BMS 商务月开始频率
    L, ms 毫秒
    Q 季度结束频率
    U, us 微秒
    BQ 商务季度结束频率
    N 纳秒
    BQ 商务季度结束频率
    QS 季度开始频率
  • 相关阅读:
    细说mysql索引
    SQL常见优化Sql查询性能的方法有哪些?
    JDK提供的几种线程池比较
    JVM 内部运行线程介绍
    线上服务CPU100%问题快速定位实战
    浅谈Java中的hashcode方法
    Spring 核心组件工作原理简析
    SpringMVC工作原理
    open MMT.distributions = null on transaction type: WIP Lot Split
    OSFM Tables
  • 原文地址:https://www.cnblogs.com/navysummer/p/9641197.html
Copyright © 2020-2023  润新知