Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing the timestamp from a datetime in pandas dataframe

Tags:

Scenario: I have a dataframe with multiple columns retrieved from excel worksheets. Some of these columns are dates: some have just the date (yyyy:mm:dd) and some have date and timestamp (yyyy:mm:dd 00.00.000000).

Question: How can I remove the time stamp from the dates when they are not the index of my dataframe?

What I already tried: From other posts here in SO (working with dates in pandas - remove unseen characters in datetime and convert to string and How to strip a pandas datetime of date, hours and seconds) I found:

pd.DatetimeIndex(dfST['timestamp']).date 

and

strfitme (df['timestamp'].apply(lambda x: x.strftime('%Y-%m-%d')) 

But I can't seem to find a way to use those directly to the wanted column when it is not the index of my dataframe.

like image 215
DGMS89 Avatar asked Aug 24 '17 09:08

DGMS89


People also ask

How do I remove the timestamp from a datetime in Python?

Using strfttime to Remove the Time from Datetime in Python We can use strftime() to easily remove the time from datetime variables. For example, if you want to print out the date in the format “YYYY-MM-DD”, we pass “%Y-%m-%d” to strfttime() and no time is printed.


1 Answers

You can do the following:

dfST['timestamp'] = pd.to_datetime(dfST['timestamp']) 

to_datetime() will infer the formatting of the date column. You can also pass errors='coerce' if the column contains non-date values.

After completing the above, you'll be able to create a new column containing only date values:

dfST['new_date_column'] = dfST['timestamp'].dt.date 
like image 131
Andrew L Avatar answered Oct 04 '22 13:10

Andrew L