Як перетворити datetime на дату в pandas


Часто вам може знадобитися перетворити дату/час на дату в pandas. На щастя, це легко зробити за допомогою функції .dt.date , яка має такий синтаксис:

 df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . 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 , ви можете normalize() компонент часу, який збереже тип 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
Як перетворити рядки на float у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *