Как преобразовать datetime в дату в pandas
Часто вам может потребоваться преобразовать дату/время в дату в пандах. К счастью, это легко сделать с помощью функции .dt.date , которая использует следующий синтаксис:
df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . date
Пример: Datetime to date в Pandas
Например, предположим, что у нас есть следующий DataFrame 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() для типов datetime64
Обратите внимание, что приведенный выше код вернет тип объекта :
#find dtype of each column in DataFrame df. dtypes dirty int64 time object dtype:object
Если вместо этого вам нужен datetime64 , вы можете нормализовать() компонент времени, который сохранит тип 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 dirty int64 time datetime64[ns] dtype:object
Опять же, отображается только дата, но столбец «время» имеет тип datetime64 .
Дополнительные ресурсы
Как преобразовать столбцы в DateTime в Pandas
Как преобразовать строки в числа с плавающей запятой в Pandas