Как преобразовать дату и время в дату в pandas


Часто вы можете захотеть преобразовать дату и время в дату в pandas. К счастью, это легко сделать с помощью функции .dt.date , которая имеет следующий синтаксис:

df['date_column'] = pd.to_datetime(df['datetime_column']). dt.date

Пример: Datetime to Date в Pandas

Например, предположим, что у нас есть следующий кадр данных pandas:

import pandas as pd

#create pandas DataFrame with two columns
df = pd.DataFrame({'sales': [4, 11],
 'time': ['2020-01-15 20:02:58', '2020-01-18 14:43:24']})

#view DataFrame 
print(df)

sales time
0 4 2020-01-15 20:02:58
1 11 2020-01-18 14:43:24

Чтобы преобразовать столбец «время» только в дату, мы можем использовать следующий синтаксис:

#convert datetime column to just date
df['time'] = pd.to_datetime(df['time']). dt.date

#view DataFrame
print(df)

 sales time
0 4 2020-01-15
1 11 2020-01-18

Теперь в столбце «время» просто отображается дата без времени.

Использование Normalize() для Dtypes datetime64

Обратите внимание, что приведенный выше код вернет объект dtype:

#find dtype of each column in DataFrame
df.dtypes

sales int64
time object
dtype: object

Если вместо этого вы хотите datetime64 , вы можете normalize() компонент времени, который сохранит dtype как datetime64 , но будет отображать только дату:

#convert datetime column to just date
df['time'] = pd.to_datetime(df['time']). dt.normalize ()

#view DataFrame
print(df)

 sales time
0 4 2020-01-15
1 11 2020-01-18

#find dtype of each column in DataFrame
df.dtypes

sales int64
time datetime64[ns]
dtype: object

Снова отображается только дата, но столбец «время» имеет тип datetime64 dtype.

Дополнительные ресурсы

Как преобразовать столбцы в DateTime в Pandas
Как преобразовать строки в числа с плавающей запятой в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.