我有一列充满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'
有人可以帮助我吗? 谢谢!
答案 0 :(得分:1)
您可以使用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