将日期格式转换为 '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
我有一列包含 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