@krista
Модуль pandas предоставляет много возможностей для работы с датами и временем, используя класс datetime.datetime.
Ниже приведены несколько примеров:
- Создание столбца дат из строки.
1
2
3
4
5
6
7
|
import pandas as pd
df = pd.DataFrame({'date': ['2022-01-01', '2022-01-02', '2022-01-03'],
'value': [1, 2, 3]})
df['date'] = pd.to_datetime(df['date'])
print(df)
|
Вывод:
1
2
3
4
|
date value
0 2022-01-01 1
1 2022-01-02 2
2 2022-01-03 3
|
- Создание столбца дня недели.
1
2
|
df['day_of_week'] = df['date'].dt.day_name()
print(df)
|
Вывод:
1
2
3
4
|
date value day_of_week
0 2022-01-01 1 Saturday
1 2022-01-02 2 Sunday
2 2022-01-03 3 Monday
|
- Получение отрезка времени.
1
2
3
4
|
start = pd.to_datetime('2022-01-01')
end = pd.to_datetime('2022-01-10')
mask = (df['date'] >= start) & (df['date'] <= end)
print(df.loc[mask])
|
Вывод:
1
2
3
4
|
date value day_of_week
0 2022-01-01 1 Saturday
1 2022-01-02 2 Sunday
2 2022-01-03 3 Monday
|
- Работа с временными интервалами.
1
2
3
|
import datetime as dt
df['time_diff'] = df['date'].diff() / dt.timedelta(days=1)
print(df)
|
Вывод:
1
2
3
4
|
date value day_of_week time_diff
0 2022-01-01 1 Saturday NaN
1 2022-01-02 2 Sunday 1.0
2 2022-01-03 3 Monday 1.0
|
Здесь мы создали новый столбец, который показывает разницу в днях между текущей датой и предыдущей датой.