如何在pandas Dataframe列上应用to_datetime?

时间:2016-03-15 15:45:49

标签: python datetime pandas

我在一列中有一个带有Timestamp个条目的数据框,由类似字符串创建:

df = pd.DataFrame({"x": pd.to_datetime("MARCH2016")})

现在,我希望通过访问df对象的.month属性,根据月份选择datetime,逐年切入。但是,to_datetime实际上是从字符串中创建了一个Timestamp对象,而我似乎无法将其强制转换为datetime。以下按预期工作:

type(df.x[0].to_datetime())  # gives datetime object

但是使用apply(在我现实生活中的例子当然我想做的事情,因为我有一行以上)并不是:

type(df.x.apply(pd.to_datetime)[0]) # returns Timestamp

我错过了什么?

1 个答案:

答案 0 :(得分:1)

这是TimeStamp与此无关的事实,您仍然可以使用month访问者访问.dt属性:

In [79]:
df = pd.DataFrame({"x": [pd.to_datetime("MARCH2016")]})
df['x'].dt.month

Out[79]:
0    3
Name: x, dtype: int64