Часто вы можете захотеть преобразовать дату и время в дату в 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