如何在 panda 中使用 to_date for yyyy-mm-dd 格式来提取月份名称?

How to use to_date in panda for yyyy-mm-dd format to extract month name?

df["month"]=pd.to_datetime(df['date'],format="%y-%m-%d").dt.month_name() 
df.set_index('date', inplace=True)

我使用此代码从我的 CSV 文件中的日期系列中提取月份名称。所有日期的格式都是 yyyy-mm-dd。所以我使用 %y-%m-%d 从日期中提取月份名称。但是我遇到了关键错误。你能告诉我哪里错了吗??

错误:

您的格式字符串不正确,您需要使用 "%Y-%m-%d"%y代表两位数年份,%Y代表四位数年份。

你可以阅读更多here

您需要使用大写 Y,而不是 y

df["month"]=pd.to_datetime(df['date'],format="%Y-%m-%d").dt.month_name() 
df.set_index('date', inplace=True)

输出:

               new
month   
2022-02-01  February
2022-09-10  September

或者,您可以使用 datetime 库在数据框的 date 列上应用 lambda 函数。

from datetime import datetime
df["month"] = df.date.apply(lambda x: datetime.strptime(x, "%Y-%m-%d").strftime('%B'))

可以在此处找到有关格式的更多信息。 :)

https://docs.python.org/3/library/datetime.html

输出如下: