pandas学习总结------时序分析part1

作者: 九日照林 | 来源:发表于2019-08-27 23:08 被阅读0次

    时间序列

    日期和时间类型工具

    python标准库处理时间的模块:time, calendardatetime

    pandas本身自带处理时间的工具:pd.to_datetime

    创建时间类型

    import numpy as numpy
    import pandas as pd
    numpy.random.seed(12345)
    import matplotlib.pyplot as plt
    plt.rc('figure', figsize=(10, 6))
    PREVIOUS_MAX_ROWS = pd.options.display.max_rows
    pd.options.display.max_rows = 20
    numpy.set_printoptions(precision=4, suppress=True)  
    from datetime import datetime
    
    dt=datetime(2011,1,1)
    dt
    

    datetime模块对应传入年月日参数,产生python时间格式的对象。时间对象之间可以方便做相差的时间间隔计算,也可以调用各种时间属性day, yearmonth等。

    日期间的差值

    时间戳之间的差值是delta对象,delta对象也可以用timedelta方法创建并用于计算。

    from datetime import timedelta
    delta=timedelta(12)
    dt+delta
    

    默认传入的timedelta里面的参数是天数

    now=datetime.now()
    now-dt
    

    字符串和datetime的相互转换

    字符串转换为datatime用strptime

    这里的p代表parsing的意思

    value = '2011-01-03'
    datetime.strptime(value, '%Y-%m-%d')
    

    我们可以指定解析的样式。

    当然,很多时候我们如果都要写好解析的样式%Y-%m-%d那样是比较麻烦的,在这种情况下我们可以用datautil.parser.parse方法去自动解析,支持大部分可以识别的日期格式。

    from dateutil.parser import parse
    
    parse('20111101')
    

    索引、选择、子集

    如果以日期作为序列的话,可以传入一个可以被解释为时间的索引进行选择和切片。

    longer_ts = pd.Series(numpy.random.randn(1000),
                          index=pd.date_range('1/1/2000', periods=1000))
    longer_ts
    

    以下三种方式切片都是获得相同的结果。

    longer_ts['1/10/2001']
    longer_ts['20010110']
    longer_ts['2001-01-10']
    

    我们也可以把频率获取到月份。

    longer_ts['2001-01']
    

    索引既可以传入时间字符串,也可以传入datetime对象

    longer_ts[datetime(2001, 1,1):]
    

    日期范围、频率和移位

    pandas.date_range可以生成指定的长度的DatetimeIndex

    pd.date_range('2018-01-01', '2018-05-01')
    

    我们还可以指定periodsfreq参数指定周期和频率

    rng = pd.date_range('2000-01-01', periods=3, freq='M')
    ts = pd.Series(numpy.random.randn(3), index=rng)
    ts
    

    除了start参数,我们还可以传入end参数。
    如果是end参数的话就是往前追溯。

    rng = pd.date_range(end='2000-01-01', periods=3, freq='M')
    ts = pd.Series(numpy.random.randn(3), index=rng)
    ts
    

    相关文章

      网友评论

        本文标题:pandas学习总结------时序分析part1

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