首页 > 解决方案 > 如何在python中将字符串转换为时间?

问题描述

当我尝试将字符串转换为时间时,它不适用于以下代码,我不明白为什么有人可以帮助我?

pd.to_datetime(movie_df['duration'], format='%M min')

我收到此错误:

ValueError:时间数据 '93 min' 与格式 '%M min' 不匹配(匹配)

标签: pythonpandasdataframedatetimetime

解决方案


您可以先删除minduration然后将其转换为pandas.TimedeltaIndex

movie_df['duration'] = movie_df['duration'].str.split(' ').str[0].astype(int)

movie_df['duration'] = pd.TimedeltaIndex(movie_df['duration'], unit='m').to_pytimedelta().astype(str)
print(movie_df)

  duration
0  1:33:00
1  1:42:00

感谢MrFuppes的建议,您可以使用pandas.to_timedelta()

movie_df['duration'] = movie_df['duration'].str.split(' ').str[0].astype(int)
movie_df['duration'] = pd.to_timedelta(movie_df['duration'], unit='m').astype(str)
# print(movie_df)

          duration
0  0 days 01:33:00
1  0 days 01:42:00

推荐阅读