Python 如何在数据框列上应用_datetime?
我有一个数据框,在一列中有Python 如何在数据框列上应用_datetime?,python,datetime,pandas,Python,Datetime,Pandas,我有一个数据框,在一列中有时间戳条目,由如下字符串创建: df = pd.DataFrame({"x": pd.to_datetime("MARCH2016")}) 现在,我想通过访问datetime对象的.month属性,从df中选择基于月份、跨年份的数据。但是,to_datetime实际上从字符串中创建了一个Timestamp对象,我似乎无法将其强制为datetime。以下工作如预期: type(df.x[0].to_datetime()) # gives datetime object
时间戳
条目,由如下字符串创建:
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
(在我的现实生活示例中,我当然希望这样做,因为我有多行):
我遗漏了什么?事实上它是一个
时间戳
在这里是不相关的,您仍然可以使用.dt
访问器访问月
属性:
In [79]:
df = pd.DataFrame({"x": [pd.to_datetime("MARCH2016")]})
df['x'].dt.month
Out[79]:
0 3
Name: x, dtype: int64
不确定您期望的是什么,但它应该可以正常工作
df['x'].dt.month
我只是没有意识到datetime
是Timestamp
对象的一个属性-尽管我可以创建datetime
或Timestamp
对象,我需要datetime
对象来访问month
属性。。。谢谢
In [79]:
df = pd.DataFrame({"x": [pd.to_datetime("MARCH2016")]})
df['x'].dt.month
Out[79]:
0 3
Name: x, dtype: int64