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

MEh*_*san 2 python format datetime dataframe pandas

我有一个如下所示的数据框df:

   ID Date
0  1  2008-01-24 
1  2  2007-02-17
Run Code Online (Sandbox Code Playgroud)

格式Date%Y-%m-%d

如何格式化日期%m-%d-%Y格式?

我尝试使用这种语法,但它没有给出正确的格式:

df["Date"] = df["Date"].strftime("%m-%d-%Y")
Run Code Online (Sandbox Code Playgroud)

不知道怎么解决这个问题?

roo*_*oot 8

使用.dt访问者:

df["Date"] = df["Date"].dt.strftime("%m-%d-%Y")
Run Code Online (Sandbox Code Playgroud)


gog*_*ome 5

Date仅当列包含实例时,根接受的答案才有效datetime。原始海报显示的数据框表明该Date列包含date实例。这导致了一条AttributeError带有消息的消息Can only use .dt accessor with datetimelike values

因此,您必须先将dates 转换为datetimes,然后才能格式化它们,如下所示:

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")
Run Code Online (Sandbox Code Playgroud)