Как преобразовать 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *