python pandas:以日期时间格式将字符串拆分为日期和时间

时间:2017-09-19 19:53:41

标签: python pandas datetime

我的数据框df中有一个字段,标记为日期,但经过大量测试后,我发现它是一个字符串而不是日期格式。

Transaction_id | Date
ABC              4/1/2016 9:13:58 PM
CDE              10/3/2015 10:12:25 AM
EFG              12/12/2017 3:02:45 PM

我需要将Date列拆分为Date&时间,我希望他们采用日期时间格式。我不知道如何使用正则表达式,因为长度不同。

输出:

Transaction_id | Date                    | Date2       | Time            
ABC              4/1/2016 9:13:58 PM       04/01/2016    21:13:58
CDE              10/3/2015 10:12:25 AM     10/03/2016    10:12:25
EFG              12/12/2017 3:02:45 PM     12/12/2017    15:02:45

1 个答案:

答案 0 :(得分:4)

请注意,我放置了errors='coerce'来处理非感性日期数据。

date2 = pd.to_datetime(df.Date, errors='coerce')

df.assign(Date2=date2.dt.date, Time=date2.dt.time)

  Transaction_id                   Date       Date2      Time
0            ABC    4/1/2016 9:13:58 PM  2016-04-01  21:13:58
1            CDE  10/3/2015 10:12:25 AM  2015-10-03  10:12:25
2            EFG  12/12/2017 3:02:45 PM  2017-12-12  15:02:45