首页 > 解决方案 > 将日期格式转换为“月-日-年”

问题描述

我有一列包含 200 万行的日期。数据格式为“年-月-日”,例如:“2019-11-28”。每次加载文档时,我都必须更改列的格式(这需要很长时间):

pd.to_datetime(df['old_date'])

我想将顺序重新排列为“月-日-年”,这样每次加载时我都不必更改列的格式。我试着做:

df_1['new_date'] = df_1['old_date'].dt.month+'-'+df_1['old_date'].dt.day+'-'+df_1['old_date'].dt.year

但我收到以下错误:'unknown type str32'

有人可以帮我吗?谢谢!

标签: pythonpandasdatedatetimestring-to-datetime

解决方案


您可以使用pandas.Series.dt.strftime( documentation ) 更改日期的格式。在下面的代码中,我有一列包含您的旧格式日期,我使用此方法创建了一个新列:

import pandas as pd

df = pd.DataFrame({'old format': pd.date_range(start = '2020-01-01', end = '2020-06-30', freq = 'd')})
df['new format'] = df['old format'].dt.strftime('%m-%d-%Y')

输出:

  old format  new format
0 2020-01-01  01-01-2020
1 2020-01-02  01-02-2020
2 2020-01-03  01-03-2020
3 2020-01-04  01-04-2020
4 2020-01-05  01-05-2020
5 2020-01-06  01-06-2020
6 2020-01-07  01-07-2020
7 2020-01-08  01-08-2020
8 2020-01-09  01-09-2020
9 2020-01-10  01-10-2020

推荐阅读