python - ValueError:时间数据 '00:01:29:06' 与格式 '%d:%H:%M:%S' 不匹配
问题描述
我需要将列中的数据帧持续时间转换为日期时间格式,以分析平均值或最大值/最小值,但它现在需要一些帮助,谢谢。 数据框
df['duration'] =pd.to_datetime(df['duration'], format='%d:%H:%M:%S')
解决方案
错误的原因是该%d
格式只接受和之间的值01
(31
因为它代表“月中的一天”)。00
则无效。
我能想到的最好的解决方法(有人可能会提出更好的建议)是使用正则表达式将duration
列中包含的字符串转换为一些有效的字符串,如下例所示:
df['duration']=pd.to_timedelta(df.duration.str.replace(r"(?P<day>\d+):", r'\g<day> days ', 1))
我不知道上面例子的时间复杂度(如果有一个大表要转换)。
推荐阅读
- c++ - 将类表示为枚举并了解它们之间的其他类成员
- reactjs - 如何使用 React 和 Material UI 选择对象的某些部分以渲染到 Dom
- oop - 序列图 UML if else 基于决策
- c# - 打开文件并在超时的情况下异步获取 FileStream
- python - 使用 os 遍历图像文件
- delphi - Delphi 10:关于 String[25] 将一些 char 值更改为“?”我能做些什么?
- javascript - 从单个组件访问多个 easy-peasy 商店
- python - 验证views.py
- python - 使用 aiosqlite 的 sqlite 列中的最后一个值
- java - 第一次尝试 Java 和 Gradle 进行 minecraftforge 开发;在 ScriptPluginFactory 和 FileHasher 中的 Gradle 中出现奇怪的错误