首页 > 解决方案 > 以相同格式转换对象列日期 - Python

问题描述

我有一个包含日期的对象列。我从文本列中提取了这些日期。所以所有这些日期都是不同的格式。下面会提到。但所有日期都采用 mm/dd/yyy 或 mm/dd/yy 或类似的格式,其中月/日/年。如何将此列转换为 mm/dd/yyyy 格式。大多数值仅采用 mm/dd/yyyy 格式,但也有许多其他格式的值,如上所述。

date_df =pd.DataFrame(data =['01/14/2019',
'1/14/2019',
'1/3/2019',
'1/03/2018',
'01/09/19',
'1/09/17',
'1/9/19',
'1/09/13'])

date_df:
01/14/2019
1/14/2019
1/3/2019
1/03/2018
01/09/19
1/09/17
1/9/19
1/09/13

Expected result :
01/14/2019
01/14/2019
01/03/2019
01/03/2018
01/09/2019
01/09/2017
01/09/2019
01/09/2013

标签: python-3.xpandaspython-2.7python-datetime

解决方案


用于字符串(对象)to_datetimeSeries.dt.strftime的自定义格式,如果需要仅省略日期dt.strftime时间:

df['col'] = pd.to_datetime(df['col']).dt.strftime('%m/%d/%Y')
print (df)
          col
0  01/14/2019
1  01/14/2019
2  01/03/2019
3  01/03/2019
4  01/09/2019
5  01/09/2019
6  01/09/2019
7  01/09/2019

推荐阅读