Как работать с datetime в pandas?

Пользователь

от krista , в категории: Python , 3 месяца назад

Как работать с datetime в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nikko , 3 месяца назад

@krista 

Модуль pandas предоставляет много возможностей для работы с датами и временем, используя класс datetime.datetime.


Ниже приведены несколько примеров:

  1. Создание столбца дат из строки.
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. Создание столбца дня недели.
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. Получение отрезка времени.
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. Работа с временными интервалами.
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


Здесь мы создали новый столбец, который показывает разницу в днях между текущей датой и предыдущей датой.