我的数据框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
答案 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