【问题标题】:Transform string column from H:MM:SS to decimal in seconds in Python在 Python 中以秒为单位将字符串列从 H:MM:SS 转换为十进制
【发布时间】:2020-04-24 21:25:51
【问题描述】:

我是一个初学者 python 编码器,我已经为此工作了几个小时,但无济于事。我有一个数据框,其中有一列的持续时间格式如下:H:MM:SS '1:36:45'。前导零丢失了几个小时,所以我无法将列从string 转换为DateTime;我最终得到了一个错误。

作为一种解决方法,我尝试使用str.slice 拆分列,但这也不起作用。结果列正确地给了我秒和分钟,但小时基本上是小时和分钟的组合。

我曾考虑在列中添加一个前导零,但我也找不到我找到的代码。

有没有简单的方法来做到这一点?任何帮助将非常感激。

【问题讨论】:

  • 你也有日期栏吗?如果是这样pd.to_datetime(df['date'] + ' ' + df['time_col'])

标签: python-3.x pandas datetime decimal


【解决方案1】:

只需使用 pandas to_datetime,他们已经为您处理好了:

import pandas as pd
pd.to_datetime('1:36:45')

你会得到

Timestamp('2020-01-07 01:36:45')

您可以通过以下方式获得秒数:

pd.to_datetime('1:36:45').second

【讨论】:

    猜你喜欢
    • 2011-09-18
    • 2013-12-16
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多