'Pandas datetime column to ordinal
I'm trying to create a new Pandas dataframe column with ordinal day from a datetime column:
import pandas as pd
from datetime import datetime
print df.ix[0:5]
date
file
gom3_197801.nc 2011-02-16 00:00:00
gom3_197802.nc 2011-02-16 00:00:00
gom3_197803.nc 2011-02-15 00:00:00
gom3_197804.nc 2011-02-17 00:00:00
gom3_197805.nc 2011-11-14 00:00:00
df['date'][0].toordinal()
Out[6]:
734184
df['date'].toordinal()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-7-dbfd5e8b60f0> in <module>()
----> 1 df['date'].toordinal()
AttributeError: 'Series' object has no attribute 'toordinal'
I guess this is a basic question, but I've struggled reading docs for last 30 minutes.
How can I create an ordinal time column for my dataframe?
Solution 1:[1]
Use apply:
df['date'].apply(lambda x: x.toordinal())
Solution 2:[2]
you can also use map:
import datetime as dt
df['date'].map(dt.datetime.toordinal)
Solution 3:[3]
For completeness:
Apply pd.Timestamp.toordinal
df['date'].apply(pd.Timestamp.toordinal)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | lowtech |
| Solution 2 | |
| Solution 3 | wwii |
