Як перетворити 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