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)[source]#

Immutable ndarray-like of datetime64 data.

Represented internally as int64, and which can be boxed to Timestamp objects that are subclasses of datetime and carry metadata.

Changed in version 2.0.0: The various numeric date/time attributes (day, month, year etc.) now have dtype int32. Previously they had dtype int64.

Parameters:
dataarray-like (1-dimensional)

Datetime-like data to construct index with.

freqstr or pandas offset object, optional

One of pandas date offset strings or corresponding objects. The string ‘infer’ can be passed in order to set the frequency of the index as the inferred frequency upon creation.

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

Set the Timezone of the data.

ambiguous‘infer’, bool-ndarray, ‘NaT’, default ‘raise’

When clocks moved backward due to DST, ambiguous times may arise. For example in Central European Time (UTC+01), when going from 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the ambiguous parameter dictates how ambiguous times should be handled.

  • ‘infer’ will attempt to infer fall dst-transition hours based on order

  • bool-ndarray where True signifies a DST time, False signifies a non-DST time (note that this flag is only applicable for ambiguous times)

  • ‘NaT’ will return NaT where there are ambiguous times

  • ‘raise’ will raise a ValueError if there are ambiguous times.

dayfirstbool, default False

If True, parse dates in data with the day first order.

yearfirstbool, default False

If True parse dates in data with the year first order.

dtypenumpy.dtype or DatetimeTZDtype or str, default None

Note that the only NumPy dtype allowed is datetime64[ns].

copybool, default False

Make a copy of input ndarray.

namelabel, default None

Name to be stored in the index.

Attributes

year

The year of the datetime.

month

The month as January=1, December=12.

day

The day of the datetime.

hour

The hours of the datetime.

minute

The minutes of the datetime.

second

The seconds of the datetime.

microsecond

The microseconds of the datetime.

nanosecond

The nanoseconds of the datetime.

date

Returns numpy array of python datetime.date objects.

time

Returns numpy array of datetime.time objects.

timetz

Returns numpy array of datetime.time objects with timezones.

dayofyear

The ordinal day of the year.

day_of_year

The ordinal day of the year.

dayofweek

The day of the week with Monday=0, Sunday=6.

day_of_week

The day of the week with Monday=0, Sunday=6.

weekday

The day of the week with Monday=0, Sunday=6.

quarter

The quarter of the date.

tz

Return the timezone.

freq

Return the frequency object if it is set, otherwise None.

freqstr

Return the frequency object as a string if it's set, otherwise None.

is_month_start

Indicates whether the date is the first day of the month.

is_month_end

Indicates whether the date is the last day of the month.

is_quarter_start

Indicator for whether the date is the first day of a quarter.

is_quarter_end

Indicator for whether the date is the last day of a quarter.

is_year_start

Indicate whether the date is the first day of a year.

is_year_end

Indicate whether the date is the last day of the year.

is_leap_year

Boolean indicator if the date belongs to a leap year.

inferred_freq

Tries to return a string representing a frequency generated by infer_freq.

Methods

normalize()

Convert times to midnight.

strftime(date_format)

Convert to Index using specified date_format.

snap([freq])

Snap time stamps to nearest occurring frequency.

tz_convert(tz)

Convert tz-aware Datetime Array/Index from one time zone to another.

tz_localize(tz[, ambiguous, nonexistent])

Localize tz-naive Datetime Array/Index to tz-aware Datetime Array/Index.

round(freq[, ambiguous, nonexistent])

Perform round operation on the data to the specified freq.

floor(freq[, ambiguous, nonexistent])

Perform floor operation on the data to the specified freq.

ceil(freq[, ambiguous, nonexistent])

Perform ceil operation on the data to the specified freq.

to_period([freq])

Cast to PeriodArray/PeriodIndex at a particular frequency.

to_pydatetime()

Return an ndarray of datetime.datetime objects.

to_series([index, name])

Create a Series with both index and values equal to the index keys.

to_frame([index, name])

Create a DataFrame with a column containing the Index.

month_name([locale])

Return the month names with specified locale.

day_name([locale])

Return the day names with specified locale.

mean(*[, skipna, axis])

Return the mean value of the Array.

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

Return sample standard deviation over requested axis.

See also

Index

The base pandas Index type.

TimedeltaIndex

Index of timedelta64 data.

PeriodIndex

Index of Period data.

to_datetime

Convert argument to datetime.

date_range

Create a fixed-frequency DatetimeIndex.

Notes

To learn more about the frequency strings, please see 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[s, UTC]', freq=None)