本文介绍了Pandas 将时间戳列转换为日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
鉴于以下数据框和必要的争论:
Given the following data frame and necessary wrangling:
import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
'dates':['2015-08-31 00:00:00','2015-08-24 00:00:00','2015-08-25 00:00:00']})
df.dates=df.dates.astype(str)
df['dates'] = pd.to_datetime(df.dates.str.split(',s*').str[0])
set(df['dates'])
我最终得到:
{Timestamp('2015-08-24 00:00:00'),
Timestamp('2015-08-25 00:00:00'),
Timestamp('2015-08-31 00:00:00')}
我需要将时间戳转换回日期时间(真的,只是日期)格式.
I need to convert the time stamps back to datetime (really, just date) format.
我已根据 这篇文章:
df['dates'].to_pydatetime()
但是返回:
AttributeError: 'Series' object has no attribute 'to_pydatetime'
在我的真实数据中,数据类型是:<M8[ns]
In my real data, the data type is: <M8[ns]
推荐答案
你可以使用dt.date
返回一个 datetime.date
对象:
In [3]:
set(df['dates'].dt.date)
Out[3]:
{datetime.date(2015, 8, 24),
datetime.date(2015, 8, 25),
datetime.date(2015, 8, 31)}
这篇关于Pandas 将时间戳列转换为日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!