Атрибут hour аксессора dt
Атрибут hour применяется к Series
с типом данных datetime через аксессор dt
и возвращает часы из каждой временной метки.
Значение извлекается в виде целого числа от 0 до 23.
Синтаксис
ser.dt.hour
Пример
Давайте создадим серию с временными метками и извлечём часы:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01 08:00:00', periods=3, freq='h'))
res = ser.dt.hour
print(res)
Результат выполнения кода:
0 8
1 9
2 10
dtype: int64
Пример
Атрибут можно использовать для фильтрации данных по часам:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01 06:00:00', periods=5, freq='2h'))
filtered = ser[ser.dt.hour >= 10]
print(filtered)
Результат выполнения кода:
2 2026-01-01 10:00:00
3 2026-01-01 12:00:00
4 2026-01-01 14:00:00
dtype: datetime64[ns]
Пример
Извлечём часы из столбца DataFrame с датами:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': pd.date_range('2026-01-01 07:30:00', periods=5, freq='3h')
})
df['c'] = df['b'].dt.hour
print(df)
Результат выполнения кода:
a b c
0 1 2026-01-01 07:30:00 7
1 2 2026-01-01 10:30:00 10
2 3 2026-01-01 13:30:00 13
3 4 2026-01-01 16:30:00 16
4 5 2026-01-01 19:30:00 19