将日期格式转换为 'Month-Day-Year'

Convert date format to 'Month-Day-Year'

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

pd.to_datetime(df['old_date'])

我想将顺序重新排列为 'Month-Day-Year',这样我就不必在每次加载时都更改列的格式。 我尝试这样做:

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'

有人能帮帮我吗? 谢谢!

您可以使用 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