Pandas: Convert Timestamp to datetime.date

I have a pandas column of Timestamp data

In [27]: train["Original_Quote_Date"][6] Out[27]: Timestamp('2013-12-25 00:00:00') 

How can check equivalence of these objects to datetime.date objects of the type

datetime.date(2013, 12, 25) 
1

5 Answers

Use the .date method:

In [11]: t = pd.Timestamp('2013-12-25 00:00:00') In [12]: t.date() Out[12]: datetime.date(2013, 12, 25) In [13]: t.date() == datetime.date(2013, 12, 25) Out[13]: True 

To compare against a DatetimeIndex (i.e. an array of Timestamps), you'll want to do it the other way around:

In [21]: pd.Timestamp(datetime.date(2013, 12, 25)) Out[21]: Timestamp('2013-12-25 00:00:00') In [22]: ts = pd.DatetimeIndex([t]) In [23]: ts == pd.Timestamp(datetime.date(2013, 12, 25)) Out[23]: array([ True], dtype=bool) 
3

As of pandas 0.20.3, use .to_pydatetime() to convert any pandas.DateTimeIndex instances to Python datetime.datetime.

1

You can convert a datetime.date object into a pandas Timestamp like this:

#!/usr/bin/env python3 # coding: utf-8 import pandas as pd import datetime # create a datetime data object d_time = datetime.date(2010, 11, 12) # create a pandas Timestamp object t_stamp = pd.to_datetime('2010/11/12') # cast `datetime_timestamp` as Timestamp object and compare d_time2t_stamp = pd.to_datetime(d_time) # print to double check print(d_time) print(t_stamp) print(d_time2t_stamp) # since the conversion succeds this prints `True` print(d_time2t_stamp == t_stamp) 

Assume time column is in timestamp integer msec format

1 day = 86400000 ms

Here you go:

day_divider = 86400000 df['time'] = df['time'].values.astype(dtype='datetime64[ms]') # for msec format df['time'] = (df['time']/day_divider).values.astype(dtype='datetime64[D]') # for day format 

So, got this from an IBM coursera tutorial.

data['date'] = data['TimeStamp'].apply(lambda d: datetime.date.fromtimestamp(d)) 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like