将日期格式转换为“年月日”

时间:2020-07-19 22:10:34

标签: python pandas date datetime string-to-datetime

我有一列充满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'

有人可以帮助我吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

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

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