pandas - 从 hh:mm:ss 和 h:m 更改为分钟数
问题描述
我正在为 ML 模型开发一个健康数据库我有一个 DataFrame,它的对象类型列包含异构数据(1600 行):
46 1:37
47 3:50
48 1:09
49 1:30
50 2:08
51 NaN
52 2:36
53 1:32
54 01:23:00
55 0:59
56 1:40
57 02:10:00
58 2:51
59 1:55
Name: delay, dtype: object
格式是 hh:mm:ss 或 h:m 我相信我无法将其转换为数字分钟(同时保留缺失值)如果我使用
pd.to_timedelta(df[delay].astype(str), errors='coerce') / pd.Timedelta(1, 'min')
我得到 hh:mm 所需的值(分钟数) :ss 行,但我得到带有 h:m 值的 NaN
谢谢!
解决方案
使用 totalseconds 函数并获取秒数,然后将其除以 60 以获取分钟数:
pd.to_timedelta(df[delay].astype(str), errors='coerce').totalseconds()/60
推荐阅读
- docker - Docker 容器卡在(健康:启动)
- python - 返回 Numpy 数组的二项分布
- css - 创建块堆栈,块数为数组大小
- deep-learning - BERT 标注器不预测 #-split 单词
- c - 在字符串末尾打印垃圾
- excel - 导入大型 csv 或 xlsx 文件并合并的更好方法?
- powershell - 我正在尝试为我的所有 Windows 服务器列出所有登录用户的列表
- google-apps-script - 缺少标识符 QUnit 的库 - G Suite 教育版帐号
- statistics - sns.distplot 中 KDE 和直方图频率之间的差异
- javascript - 如何过滤数组的 i 循环