我尝试使用日期时间列中的序数日创建新的Pandas数据帧列:
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'
我想这是一个基本问题,但我在过去30分钟内一直在努力阅读文档。
如何为数据框创建序数时间列?
答案 0 :(得分:18)
使用apply:
df['date'].apply(lambda x: x.toordinal())
答案 1 :(得分:7)
您也可以使用map
:
import datetime as dt
df['date'].map(dt.datetime.toordinal)
答案 2 :(得分:0)
为了完整性:
应用pd.Timestamp.toordinal
df['date'].apply(pd.Timestamp.toordinal)