Атрибут hour
Атрибут hour применяется к объекту DatetimeIndex
и возвращает Index, содержащий значения часов (от 0 до 23)
для каждой временной метки. Этот атрибут удобен для извлечения
часовой составляющей из дат и времени при анализе данных.
Синтаксис
datetime_index.hour
Пример
Давайте создадим DatetimeIndex с несколькими временными метками и
извлечём из него значения часов:
import pandas as pd
dt_index = pd.DatetimeIndex([
'2026-09-09 08:15:30',
'2026-09-09 14:45:00',
'2026-09-09 23:59:59'
])
print(dt_index.hour)
Результат выполнения кода:
Index([8, 14, 23], dtype='int64')
Пример
Рассмотрим ситуацию, когда DatetimeIndex является индексом
таблицы DataFrame. Извлечём часы для каждой строки:
import pandas as pd
dates = pd.date_range('2026-09-09 06:00:00', periods=5, freq='4H')
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
}, index=dates)
print(df.index.hour)
Результат выполнения кода:
Index([6, 10, 14, 18, 22], dtype='int64')
Пример
Атрибут hour можно использовать для фильтрации данных.
Например, оставим только строки, относящиеся к утренним часам
(с 6 до 9):
import pandas as pd
dates = pd.DatetimeIndex([
'2026-09-09 06:15:00',
'2026-09-09 08:30:00',
'2026-09-09 12:45:00',
'2026-09-09 07:00:00',
'2026-09-09 23:10:00'
])
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
}, index=dates)
morning_hours = df[(df.index.hour >= 6) & (df.index.hour <= 9)]
print(morning_hours)
Результат выполнения кода:
a b
2026-09-09 06:15:00 1 10
2026-09-09 08:30:00 2 20
2026-09-09 07:00:00 4 40