pandas.DatetimeIndex#

class pandas.DatetimeIndex(data=None, freq=<no_default>, tz=<no_default>, ambiguous='raise', dayfirst=False, yearfirst=False, dtype=None, copy=None, name=None)[source]#

datetime64 数据的不可变 ndarray 类对象。

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

2.0.0 版本已更改: 各种数字日期/时间属性( daymonthyear 等)现在具有 dtype int32。以前它们具有 dtype int64

参数:
data类数组(一维)

用于构建索引的日期时间类数据。

freqstr 或 pandas offset 对象,可选

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

tzzoneinfo.ZoneInfo, pytz.timezone, dateutil.tz.tzfile, datetime.tzinfo 或 str

设置数据的时区。

ambiguous‘infer’、bool-ndarray、‘NaT’,默认值:‘raise’

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

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

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

  • ‘NaT’ 将在模糊时间处返回 NaT

  • ‘raise’ 将在存在模糊时间时引发 ValueError。

dayfirstbool, default False

如果为 True,则按 day first 的顺序解析 data 中的日期。

yearfirstbool,默认 False

如果为 True,则按 year first 的顺序解析 data 中的日期。

dtypenumpy.dtype 或 DatetimeTZDtype 或 str,默认 None

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

copybool,默认为 None

是否复制输入数据,仅与 array、Series 和 Index 输入相关(对于其他输入,例如列表,无论如何都会创建一个新数组)。默认值为 True,用于 array 输入,False 用于 Index/Series。自行承担风险将 copy 设置为 False 以避免复制 array 输入(如果您知道输入数据不会在其他地方修改)。设置 copy 为 True 以强制提前复制 Series/Index。

name标签,默认 None

存储在索引中的名称。

属性

year

日期的年份。

month

月份,1 月=1,12 月=12。

day

日期的天。

hour

日期的小时。

minute

日期的分钟。

second

日期的秒。

microsecond

日期的微秒。

nanosecond

日期的纳秒。

date

返回 Python datetime.date 对象的 numpy 数组。

time

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

timetz

返回包含时区的 datetime.time 对象的 numpy 数组。

一年中的第几天

一年中的序数日。

一年中的第几天

一年中的序数日。

星期几

星期几,周一=0,周日=6。

星期几

星期几,周一=0,周日=6。

weekday

星期几,周一=0,周日=6。

季度

日期的季度。

tz

返回时区。

频率

如果已设置,则返回频率对象,否则返回 None。

freqstr

如果已设置,则返回频率对象作为字符串,否则返回 None。

is_month_start

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

is_month_end

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

is_quarter_start

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

is_quarter_end

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

is_year_start

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

is_year_end

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

是否闰年

布尔指示符,指示日期是否属于闰年。

推断的频率

返回索引的推断频率。

Methods

normalize()

将时间转换为午夜。

strftime(date_format)

使用指定的 date_format 转换为 Index。

snap([freq])

将时间戳对齐到最近的频率。

tz_convert(tz)

将时区感知的 Datetime 数组/索引从一个时区转换为另一个时区。

tz_localize(tz[, ambiguous, nonexistent])

将时区感知的 Datetime 数组/索引本地化为时区感知的 Datetime 数组/索引。

round(freq[, ambiguous, nonexistent])

对数据执行四舍五入操作到指定的 freq

floor(freq[, ambiguous, nonexistent])

对数据执行向下取整操作到指定的 freq

ceil(freq[, ambiguous, nonexistent])

对数据执行向上取整操作到指定的 freq

to_period([freq])

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

转换为 pydatetime()

返回 datetime.datetime 对象的 ndarray。

to_series([index, name])

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

to_frame([index, name])

创建一个 DataFrame,其中包含一个包含 Index 的列。

转换为儒略日()

将 Timestamp 转换为儒略日。

month_name([locale])

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

day_name([locale])

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

mean(*[, skipna, axis])

返回 Array 的平均值。

std([axis, dtype, out, ddof, keepdims, skipna])

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

另请参阅

索引

基础 pandas Index 类型。

TimedeltaIndex

timedelta64 数据的 Index。

PeriodIndex

Period 数据的 Index。

to_datetime

将参数转换为 datetime。

date_range

创建一个固定频率的 DatetimeIndex。

注意

要了解更多关于频率字符串的信息,请参阅 此链接

示例

>>> 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[us, UTC]', freq=None)