Hoe datetime naar datum te converteren in pandas
Vaak wilt u een datum/tijd converteren naar een datum in panda’s. Gelukkig is dit eenvoudig te doen met de functie .dt.date , die de volgende syntaxis heeft:
df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . date
Voorbeeld: Datumtijd tot nu toe in Panda’s
Stel dat we bijvoorbeeld de volgende panda’s DataFrame hebben:
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
Om de kolom “tijd” naar een eenvoudige datum te converteren, kunnen we de volgende syntaxis gebruiken:
#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
Nu geeft de kolom „tijd“ eenvoudigweg de datum weer zonder de tijd.
Normalize() gebruiken voor datetime64-typen
Houd er rekening mee dat de bovenstaande code een objecttype retourneert:
#find dtype of each column in DataFrame df. dtypes dirty int64 time object dtype:object
Als je in plaats daarvan datetime64 wilt, kun je de tijdcomponent normaliseren() , waardoor het type datetime64 behouden blijft, maar alleen de datum wordt weergegeven:
#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
Ook hier wordt alleen de datum weergegeven, maar de kolom ‚tijd‘ is van het type datetime64 .
Aanvullende bronnen
Hoe kolommen naar DateTime in Pandas te converteren
Hoe tekenreeksen te converteren naar zwevend in Panda’s