pandas.DatetimeIndex#

class pandas.DatetimeIndex(data=None, freq=_NoDefault.no_default, tz=_NoDefault.no_default, normalize=_NoDefault.no_default, closed=_NoDefault.no_default, ambiguous='raise', dayfirst=False, yearfirst=False, dtype=None, copy=False, name=None)[源代码]#

不可变的 ndarray 类,包含 datetime64 数据。

内部表示为 int64,可以装箱为 Timestamp 对象,这些对象是 datetime 的子类并携带元数据。

在 2.0.0 版本发生变更: 各种数字日期/时间属性(daymonthyear 等)现在的数据类型为 int32。以前它们的数据类型为 int64

Parameters:
dataarray-like (1-dimensional)

用于构造索引的类似日期的数据。

freqstr 或 pandas 偏移量对象,可选

pandas 日期偏移字符串或相应的对象之一。字符串 ‘infer’ 可用于在创建时将索引的频率设置为推断的频率。

tzpytz.timezone 或 dateutil.tz.tzfile 或 datetime.tzinfo 或 str

设置数据的时区。

normalizebool,默认 False

在生成日期范围之前将开始/结束日期规范化到午夜。

自 2.1.0 版本弃用.

closed{‘left’, ‘right’},可选

设置是否包含边界上的 startend。默认值包括两端的边界点。

自 2.1.0 版本弃用.

歧义 (ambiguous)‘infer’, bool-ndarray, ‘NaT’, 默认 ‘raise’

当 DST 导致时钟倒转时,可能会出现歧义时间。 例如,在中欧时间(UTC+01),当从 03:00 DST 变为 02:00 非 DST 时,02:30:00 的本地时间会在 00:30:00 UTC 和 01:30:00 UTC 都出现。 在这种情况下,ambiguous 参数决定了如何处理歧义时间。

  • ‘infer’ 将尝试根据顺序推断DST转换的小时

  • 布尔 ndarray,其中 True 表示 DST 时间,False 表示非 DST 时间(请注意,此标志仅适用于模糊时间)

  • ‘NaT’ 将在有歧义时间的地方返回 NaT

  • 如果存在歧义时间,’raise’ 将引发 AmbiguousTimeError。

dayfirstbool,默认 False

如果为 True,则以日优先的顺序解析 data 中的日期。

yearfirstbool,默认 False

如果为True,则按年-月-日顺序解析`data`中的日期。

dtype`numpy.dtype`或`DatetimeTZDtype`或字符串,默认为None

请注意,唯一允许的NumPy dtype是`datetime64[ns]`。

copybool,默认 False

复制输入 ndarray。

name标签,默认为None

要存储在索引中的名称。

参见

Index

pandas Index 的基类。

TimedeltaIndex

timedelta64数据的索引。

PeriodIndex

Period数据的索引。

to_datetime

将参数转换为 datetime。

date_range

创建一个固定频率的DatetimeIndex。

Notes

要了解更多关于频率字符串的信息,请参阅 this link

Examples

>>> idx = pd.DatetimeIndex(["1/1/2020 10:00:00+00:00", "2/1/2020 11:00:00+00:00"])
>>> idx
DatetimeIndex(['2020-01-01 10:00:00+00:00', '2020-02-01 11:00:00+00:00'],
dtype='datetime64[ns, UTC]', freq=None)

Attributes

year

该日期的时间。

month

月份(1月=1,12月=12)。

day

该日期的时间。

hour

该日期的时间。

minute

该日期的时间。

second

该日期的时间。

microsecond

该日期的时间。

nanosecond

该日期的时间。

date

返回python:class:datetime.date 对象的numpy数组。

time

返回:class:datetime.time 对象的numpy数组。

timetz

返回带时区的:class:datetime.time 对象的numpy数组。

dayofyear

一年中的序数日。

day_of_year

一年中的序数日。

dayofweek

星期几(星期一=0,星期日=6)。

day_of_week

星期几(星期一=0,星期日=6)。

weekday

星期几(星期一=0,星期日=6)。

quarter

日期的季度。

tz

返回时区。

freqstr

如果设置了频率,则返回表示频率的字符串,否则返回None。

is_month_start

指示日期是否为月份的第一天。

is_month_end

指示日期是否为月份的最后一天。

is_quarter_start

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

is_quarter_end

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

is_year_start

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

is_year_end

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

is_leap_year

指示日期是否属于闰年的布尔值。

inferred_freq

尝试返回表示由infer_freq生成的频率的字符串。

freq

Methods

normalize (args**kwargs)

将时间转换为午夜。

strftime (date_format)

使用指定的date_format转换为Index。

snap ([freq])

将时间戳捕捉到最近的频率。

tz_convert (tz)

将时区感知的Datetime Array/Index从一个时区转换为另一个时区。

tz_localize (tz[, ambiguous, nonexistent])

将时区不敏感的Datetime Array/Index本地化为时区感知的Datetime Array/Index。

round (args**kwargs)

对数据执行舍入操作,以指定的`freq`为单位。

floor (args**kwargs)

对数据执行向下取整操作,以指定的`freq`为单位。

ceil (args**kwargs)

对数据执行向上取整操作,以指定的`freq`为单位。

to_period (args**kwargs)

在特定频率下转换为PeriodArray/PeriodIndex。

to_pydatetime (args**kwargs)

返回一个包含 datetime.datetime 对象的 ndarray。

to_series ([index, name])

创建一个 Series,其中索引和值都等于索引键。

to_frame ([index, name])

创建一个 DataFrame,其中包含一个索引列。

month_name (*args, **kwargs)

返回指定区域的月份名称。

day_name (*args, **kwargs)

返回指定区域的星期名称。

mean (*[, skipna, axis])

返回数组的平均值。

std (*args, **kwargs)

返回所请求轴上的样本标准差。