我希望将原始字符串转换为指定的数据时间格式。
以下是示例数据:

0              47 mins
1       1 hour 25 mins
2       1 hour 27 mins
3               6 mins

以上是python中支持的日期-时间格式之一,可以使用一些函数转换为日期-时间或strftime吗?或者需要以不同的方式处理/分析。
预期格式:
00:47
01:25
01:27
00:06

最佳答案

您有两种可能的格式,因此可以分别尝试:

s = pd.Series(['47 mins', '1 hour 25 mins', '1 hour 27 mins', '6 mins'])

dt1 = pd.to_datetime(s, format='%H hour %M mins', errors='coerce')
dt2 = pd.to_datetime(s, format='%M mins', errors='coerce')

res = dt1.fillna(dt2).dt.strftime('%H:%M')

print(res)

0    00:47
1    01:25
2    01:27
3    00:06
dtype: object

09-25 17:25