Pandas: Convert Timestamp to


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 objects of the type, 12, 25)
Asked By: kilojoules



You can convert a 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 =, 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

# since the conversion succeds this prints `True`
print(d_time2t_stamp == t_stamp)
Answered By: albert

Use the .date method:

In [11]: t = pd.Timestamp('2013-12-25 00:00:00')

In [12]:
Out[12]:, 12, 25)

In [13]: ==, 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(, 12, 25))
Out[21]: Timestamp('2013-12-25 00:00:00')

In [22]: ts = pd.DatetimeIndex([t])

In [23]: ts == pd.Timestamp(, 12, 25))
Out[23]: array([ True], dtype=bool)
Answered By: Andy Hayden

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

Answered By: Xavier Ho

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
Answered By: Alperen Sözer

So, got this from an IBM coursera tutorial.

data['date'] = data['TimeStamp'].apply(lambda d:
Answered By: Filomeno Gonzalez

I’ve used the way recommended by Filomeno Gonzalez, albeit with a slight twist:

 data['date'] = data['date'].apply(lambda x:
Answered By: maynouf

If I have a pandas DataFrame with timestamp column (1546300800000, 1546301100000, 1546301400000, 1546301700000, 1546302000000) and I want to convert this into date time format

import datetime

df['date'] = df['date'].apply(lambda x: datetime.datetime.fromtimestamp(x/1000.0))

This will return a column with the format 2019-01-01 00:00:00, 2019-01-01 00:05:00, 2019-01-01 00:10:00, 2019-01-01 00:15:00, 2019-01-01 00:20:00…etc

Dividing by 1000 to convert from ms to s as explained here

Answered By: Hom Bahrani

In my case, I had the epochs as a normal "column" (i.e. it wasn’t a TimeSeries).

I converted it as follows:

import pandas as pd
df['Timestamp'] = pd.to_datetime(df['Timestamp'] / 1000, unit='s')

Time was in milliseconds, so I needed to divide by a thousand. I set the unit='s' to mention that the Timestamp is in seconds (you can, however, use unit='ms' if you don’t want to divide by 1000, or depending on your original Timestamp unit).

A sample result

1673885284000 becomes 2023-01-16 4:08:04
Answered By: Yahya
from datetime import datetime

time = datetime.fromtimestamp(1676266245263 / 1000)

Example Output :
2023-02-13 05:30:45.263000

Answered By: Shiwani
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.