pandas.DatetimeIndex#

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

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

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

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

参数:
数据类数组(一维)

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

freqstr 或 pandas 偏移对象,可选

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

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

设置数据的时区。

模糊‘infer’, bool-ndarray, ‘NaT’, 默认 ‘raise’

当由于夏令时(DST)时钟回拨时,可能会出现不明确的时间。例如在中欧时间(UTC+01),当从夏令时03:00变为非夏令时02:00时,本地时间02:30:00会同时出现在UTC时间00:30:00和01:30:00。在这种情况下,`ambiguous`参数决定了如何处理不明确的时间。

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

  • bool-ndarray,其中 True 表示夏令时,False 表示非夏令时(请注意,此标志仅适用于不明确的时间)

  • ‘NaT’ 将在存在模糊时间的地方返回 NaT

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

dayfirst布尔值, 默认为 False

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

yearfirst布尔值, 默认为 False

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

dtypenumpy.dtype 或 DatetimeTZDtype 或 str, 默认 None

请注意,唯一允许的 NumPy 数据类型是 datetime64[ns]

复制布尔值, 默认为 False

制作输入 ndarray 的副本。

名字标签, 默认无

要存储在索引中的名称。

属性

datetime 的年份

月份

月份如 January=1, December=12。

datetime 的日期

小时

datetime 的小时数

分钟

datetime 的分钟数

datetime 的秒数。

微秒

datetime 的微秒

纳秒

datetime 的纳秒

日期

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

时间

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

timetz

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

dayofyear

一年中的第几天。

day_of_year

一年中的第几天。

dayofweek

一周中的某一天,星期一=0,星期日=6。

day_of_week

一周中的某一天,星期一=0,星期日=6。

工作日

一周中的某一天,星期一=0,星期日=6。

季度

日期的四分之一。

tz

返回时区。

freq

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

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 生成的频率表示的字符串。

方法

normalize()

将时间转换为午夜。

strftime(日期格式)

使用指定的 date_format 转换为索引。

snap([freq])

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

tz_convert(tz)

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

tz_localize(tz[, ambiguous, nonexistent])

将时区未知的日期时间数组/索引本地化为时区已知的日期时间数组/索引。

round(freq[, ambiguous, nonexistent])

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

floor(freq[, ambiguous, nonexistent])

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

ceil(freq[, ambiguous, nonexistent])

对数据执行 ceil 操作到指定的 freq

to_period([freq])

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

to_pydatetime()

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

to_series([index, name])

创建一个索引和值都等于索引键的序列。

to_frame([index, name])

创建一个包含索引列的 DataFrame。

month_name([locale])

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

day_name([locale])

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

mean(*[, skipna, axis])

返回数组的平均值。

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

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

参见

索引

基本的 pandas Index 类型。

TimedeltaIndex

timedelta64 数据的索引。

PeriodIndex

周期数据索引。

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