如何在Pandas中格式化日期列?

时间:2016-08-01 23:24:46

标签: python datetime pandas dataframe format

我的数据框df如下所示:

   ID Date
0  1  2008-01-24 
1  2  2007-02-17

Date的格式为%Y-%m-%d

如何将日期格式设置为%m-%d-%Y格式?

我尝试使用此语法,但它没有提供正确的格式:

df["Date"] = df["Date"].strftime("%m-%d-%Y")

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:8)

使用.dt访问者:

df["Date"] = df["Date"].dt.strftime("%m-%d-%Y")

答案 1 :(得分:-1)

只有在Date列包含datetime实例的情况下,才能接受来自根的答案。原始海报显示的数据帧指示Date列包含date个实例。这将导致AttributeError的消息为Can only use .dt accessor with datetimelike values

因此,您必须先将date转换为datetime才能设置格式,如下所示:

from datetime import datetime

df["Date"] = df["Date"].apply(lambda x: datetime.combine(x, datetime.min.time()))
df["Date"] = df["Date"].dt.strftime("%m-%d-%Y")