将列从pandate对象更改为python datetime
我有一个数据集,第一列为日期,格式为:2011-01-01和将列从pandate对象更改为python datetime,python,pandas,datetime,Python,Pandas,Datetime,我有一个数据集,第一列为日期,格式为:2011-01-01和type(data\u raw['pandas\u date'])为我提供pandas.core.series.series 我想将整个列转换为date-time对象,以便根据需要从每一行提取和处理年/月/日 我使用了pd.to\u datetime(data\u raw['pandas\u date'])并在输出的最后一行打印了输出。我假设值已转换为datetime 但是当我再次运行type(data\u raw['pandas\u
type(data\u raw['pandas\u date'])
为我提供pandas.core.series.series
我想将整个列转换为date-time对象,以便根据需要从每一行提取和处理年/月/日
我使用了pd.to\u datetime(data\u raw['pandas\u date'])
并在输出的最后一行打印了输出。我假设值已转换为datetime
但是当我再次运行type(data\u raw['pandas\u date'])
时,它仍然显示pandas.core.series.series
并且每当我尝试在其上运行.dt
函数时,它都会给我一个错误,告诉我这不是datetime对象
所以,我的问题是-看起来好像是_datetime函数将我的数据更改为datetime对象,但如何将其应用/保存到pandas_date列?我试过了
data\u raw['pandas\u date']=pd.to\u datetime(data\u raw['pandas\u date'])
但这也不起作用,我在检查类型时得到了相同的结果。很抱歉,这太基本了。我认为答案很简单,就是您检查数据帧类型的方式。如果我这样做:
df = pd.DataFrame({'date': ['2011-01-01','2011-01-02','2011-01-13']})
new = pd.to_datetime(df['date'])
type(new)
您将获得对象的“总体”类型,这是一个系列。但如果你这样做了:
new.dtypes
您得到的是
dtype('我认为答案很简单,就是您检查数据帧类型的方式。如果我这样做:
df = pd.DataFrame({'date': ['2011-01-01','2011-01-02','2011-01-13']})
new = pd.to_datetime(df['date'])
type(new)
您将获得对象的“总体”类型,这是一个熊猫系列。但如果您这样做:
new.dtypes
您获得dtype('type(data\u raw['pandas\u date'])
将始终返回pandas.core.series.series
,因为对象data\u raw['pandas\u date']
的类型是pandas.core.series
。您想要的是获得dtype
,所以您可以只做data\u raw['pandate'].dtype
data\u raw['pandas\u date']=pd.to\u datetime(data\u raw['pandas\u date'])
这是正确的,如果您在之后再次执行data\u raw['pandas\u date'].dtype
,您将看到它是datetime[64]
类型(data\u raw['pandas\u date'])
将始终返回pandas.core.series
,因为对象data\u raw['pandas\u date']
的类型为pandas.core.series.series
。您想要的是获得dtype
,因此您只需执行data\u raw['pandas\u date'].dtype
data\u raw['pandas\u date']=pd.to\u datetime(data\u raw['pandas\u date'])
这是正确的,如果您稍后再次执行data\u raw['pandas\u date'].dtype
,您将看到它是datetime[64]
,谢谢您的快速回复。但是,当我使用data\u raw['pandas\u date']时。dtype
通过键入:data\u raw['pandate'].dtype.datetime.date.today().year
它给了我一个错误'numpy.dtype'对象没有属性“datetime”
。我很困惑,无法看到上面的答案。使用导入datetime as dt
将年份设置为new.dt.year
。此外,提取年份是一个单独的问题。因此,如果您原来的问题已经得到回答,您应该接受答案a然后在单独的帖子中发布第二个问题谢谢你的快速回复。但是当我使用data_raw['pandas_date'].dtype
通过键入:data_raw['pandas_date'].dtype.datetime.date.today()从中获取年份信息时.year
它给了我一个错误'numpy.dtype'对象没有属性“datetime”
。我很困惑,无法看到上面的答案。使用导入datetime as dt
将年份设置为new.dt.year
。此外,提取年份是一个单独的问题。因此,如果您原来的问题已经得到回答,您应该接受答案a将第二个问题单独张贴在帖子中