小编Mat*_*o M的帖子

Pandas - 将 HH:MM:SS.F 字符串转换为秒 - 警告:HH 有时会超过 24 小时

我有以下数据框:

**flashtalking_df =**

+--------------+--------------------------+------------------------+
| Placement ID | Average Interaction Time | Total Interaction Time |
+--------------+--------------------------+------------------------+
|      2041083 | 00:01:04.12182           | 24:29:27.500           |
|      2041083 | 00:00:54.75043           | 52:31:48.89108         |
+--------------+--------------------------+------------------------+
Run Code Online (Sandbox Code Playgroud)

其中 00:01:04.12182 = HH:MM:SS.F

我需要将两列、平均交互时间和总交互时间都转换为秒。

问题是总交互时间超过 24 小时。

我发现以下代码在大多数情况下都有效。但是,当总交互时间超过 24 小时时,它给了我

ValueError: time data '24:29:27.500' does not match format '%H:%M:%S.%f'

这是我目前正在使用的函数,我从另一个 Stack Overflow 问题中抓取了平均交互时间和总交互时间:

flashtalking_df['time'] = flashtalking_df['Total Interaction Time'].apply(lambda x: datetime.datetime.strptime(x,'%H:%M:%S.%f'))
flashtalking_df['timedelta'] = flashtalking_df['time'] - datetime.datetime.strptime('00:00:00.00000','%H:%M:%S.%f')
flashtalking_df['Total Interaction Time'] = flashtalking_df['timedelta'].apply(lambda x: x / np.timedelta64(1, 's'))
Run Code Online (Sandbox Code Playgroud)

如果有更简单的方法,请告诉我。

谢谢你的帮助

datetime date seconds pandas

4
推荐指数
1
解决办法
4131
查看次数

标签 统计

date ×1

datetime ×1

pandas ×1

seconds ×1