python - 数据框中的不同时间格式
问题描述
我提取了 YouTube 数据,提取的视频结果的长度采用不同的格式。以下是原始数据的示例:
length
4:26:00
1:02:23
9:31
1:21
如何将我的结果转换为只有几分钟?存储在 vector 中的变量data
,我尝试过:
pd.to_datetime(data['length'], format='%H:%M:%S')
但我得到了错误
ValueError:时间数据“4:26”与格式“%H:%M:%S”不匹配(匹配)
解决方案
您可以使用timedelta而不是使用日期时间,因为您正在使用持续时间。前任:
df = pd.DataFrame({'length': ["4:26:00", "1:02:23", "9:31", "1:21"]})
# where the hour is missing we prepend it as zero
m = df['length'].str.len() < 6
df.loc[m, 'length'] = '00:' + df['length'][m]
df['length'] = pd.to_timedelta(df['length'])
df['length']
0 0 days 04:26:00
1 0 days 01:02:23
2 0 days 00:09:31
3 0 days 00:01:21
Name: length, dtype: timedelta64[ns]
推荐阅读
- r - 加载命名空间“rms”时未找到对象“plotp”
- ios - MessageKit:将手势识别器添加到 messageCollectionView 和 cellDelegate 不起作用
- javascript - 来自 API 数据的 React 组件图表
- docker-compose - 根据环境配置将标签应用于 docker compose 服务?
- visual-studio - 如何获得 f# 签名 - Visual Studio 或 vs 代码
- c - 分配对象和结构的有效类型
- c - 将函数从静态链接库导出到另一个程序
- kubernetes - Kubernetes 中 ignite 状态集的备份
- javascript - 如何改进 Chrome 中 javascript 文件的加载
- database - 如何保持价值和价值低于移位(1)