我有一个数据框,其中一列包含 Timestamp
条目,由如下字符串创建:
df = pd.DataFrame({"x": pd.to_datetime("MARCH2016")})
现在,我想通过访问 datetime
对象的 .month
属性,根据月份从 df
中进行选择,跨越年份。但是,to_datetime 实际上从字符串创建了一个 Timestamp 对象,而且我似乎无法将其强制为 datetime。以下内容按预期工作:
type(df.x[0].to_datetime()) # gives datetime object
但是使用 apply
(在我的现实生活示例中,鉴于我有不止一行,我当然想要这样做)不会:
type(df.x.apply(pd.to_datetime)[0]) # returns Timestamp
我错过了什么?
事实上,它是一个 TimeStamp
在这里无关紧要,您仍然可以使用 .dt
访问器访问 month
属性:
In [79]:
df = pd.DataFrame({"x": [pd.to_datetime("MARCH2016")]})
df['x'].dt.month
Out[79]:
0 3
Name: x, dtype: int64
我是一名优秀的程序员,十分优秀!