我有一个Pandas Dataframe df:
a date
1 2014-06-29 00:00:00
df.types返回:
a object
date object
我希望将列数据转换为数据而不是时间,但是:
df['date']=df['date'].astype('datetime64[s]')
返回:
a date
1 2014-06-28 22:00:00
df.types返回:
a object
date datetime64[ns]
但价值是错误的。
我有:
a date
1 2014-06-29
或:
a date
1 2014-06-29 00:00:00
答案 0 :(得分:1)
我首先将你的日期放在pd.datetime:
df['date'] = pd.to_datetime(df.date)
现在,您可以看到时间组件仍然存在:
df.date.values
array(['2014-06-28T19:00:00.000000000-0500'], dtype='datetime64[ns]')
如果您可以再次使用日期对象,则需要:
df['date'] = [x.strftime("%y-%m-%d") for x in df.date]
这将以日期时间结束:
df['date'] = [x.date() for x in df.date]
df.date
datetime.date(2014, 6, 29)
答案 1 :(得分:0)
您在这里。只需使用这种模式:
df.to_datetime()。date()