4. DatetimeIndex

  1. DatetimeIndex是一种索引,它的各个标量值是Timestamp对象,它用numpydatetime64数据类型以纳秒形式存储时间戳。

    1. pd.DatetimeIndex(data=None, freq=None, start=None, end=None, periods=None,
    2. copy=False, name=None, tz=None, verify_integrity=True, normalize=False,
    3. closed=None, ambiguous='raise', dtype=None, **kwargs)
    • data:一个array-like对象,给出了各个时间
    • copy:一个布尔值,如果为True 则拷贝基础数据
    • freq:一个字符串或者DateOffset对象,给出了频率
    • start:一个datetime-like,指定了起始时间。如果data=None,则使用它来生成时间
    • periods:一个整数(大于0),指定生成多少个时间。如果data=None,则使用它来生成时间
    • end:一个datetime-like,指定了结束时间。如果data=Noneperiods=None,则使用它来生成时间
    • closed:一个字符串或者None。用于指示区间的类型。可以为'left'(左闭右开),'right'(左开右闭),None(左闭右闭)
    • tz: 一个字符串,指定了时区。如果非空,则返回的是localized DatetimeIndex
    • name:指定了Index的名字

    DatetimeIndex

  2. pandas.date_range()函数可以生成指定长度的DatetimeIndex

    1. pandas.date_range(start=None, end=None, periods=None, freq='D', tz=None,
    2. normalize=False,name=None, closed=None, **kwargs)

    各参数意义参考DatetimeIndex的构造函数。

  3. 对于以DatetimeIndex为索引的Series,我们可以通过指定Timestamp切片来截取指定时间区间的数据(也可以是对应的字符串来指定Timestamp)。注意:这里的Timestamp可以并不是DatetimeIndexkey

    DatetimeIndex_select0 DatetimeIndex_select1

  4. DatetimeIndex的方法有:(DatetimeIndex继承自Index,因此它有Index的所有方法)

    • indexer_at_time(time, asof=False):返回指定time的位置
    • indexer_between_time( start_time, end_time, include_start=True, include_end=True):返回指定的两个时间之间的索引的位置
    • normalize():将时间调整到午夜
    • to_period( freq=None):以指定freq转换到PeriodIndex
    • to_perioddelta( freq):计算不同索引值的Timedelta,然后转换成一个TimedeldaIndex
    • to_pydatetime/tz_convert/tz_localize:对每个时间使用Timestamp对应的方法

    任何Timestamp的属性都可以作用于DatetimeIndexDatetimeIndex_method