Атрибут dayofweek
Атрибут dayofweek применяется к объекту Timestamp
и возвращает целое число от 0 до 6, представляющее
день недели. Значение 0 соответствует понедельнику,
1 - вторнику, и так далее до 6 - воскресенья.
Этот атрибут полезен при анализе временных рядов и фильтрации
данных по дням недели.
Синтаксис
timestamp.dayofweek
Пример
Давайте получим день недели для конкретной даты:
import pandas as pd
ts = pd.Timestamp('2026-09-09')
res = ts.dayofweek
print(res)
Результат выполнения кода:
2
Пример
Давайте сравним дни недели для разных дат:
import pandas as pd
dates = ['2026-09-09', '2026-09-10', '2026-09-11']
for date in dates:
ts = pd.Timestamp(date)
day_num = ts.dayofweek
print(f'{date}: {day_num}')
Результат выполнения кода:
"2026-09-09: 2"
"2026-09-10: 3"
"2026-09-11: 4"
Пример
Давайте используем атрибут для фильтрации в DataFrame:
import pandas as pd
df = pd.DataFrame({
'date': pd.date_range('2026-09-01', periods=10),
'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
})
df['weekday'] = df['date'].dt.dayofweek
res = df[df['weekday'] < 5] # только будние дни
print(res)
Результат выполнения кода:
date a weekday
0 2026-09-01 1 1
1 2026-09-02 2 2
2 2026-09-03 3 3
3 2026-09-04 4 4
4 2026-09-05 5 5
7 2026-09-08 8 1
8 2026-09-09 9 2
9 2026-09-10 10 3