python - 转换 timedelta hh :mm to seconds

标签 python pandas time timedelta

我似乎在任何地方都找不到这个,但我正在尝试将表示为 hh:mm时间戳转换为总秒数

d = ({
    'A' : ['08:00','08:10','08:12','08:26','08:29','08:31','10:10','10:25','10:29','10:31'],
    })

df = pd.DataFrame(data=d)

如果时间戳表示为 hh:mm:ss 我将使用以下内容:

secs = (pd.to_timedelta(df['A']).dt.total_seconds())

但是当我在 hh:mm 上尝试此操作时,出现错误?

ValueError:预期为 hh:mm:ss 格式

是否有一种简单的方法来转换显示为 hh:mm 的时间

最佳答案

只需将 :00 附加到字符串末尾即可将其转换为 hh:mm:ss 格式。

例如:08:00 可以重写为 08:00:00

解决此问题的快速方法:

d['A'] = [x + ':00' for x in d['A']]

然后,您可以运行以下命令:

secs = (pd.to_timedelta(d['A']).dt.total_seconds())

关于python - 转换 timedelta hh :mm to seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50997958/

相关文章:

python - 改变列表的元素

python - pandas.to_datetime() 自动转换为 <M8[ns] 且无法使用 numpy.isnat()

python - 慢 Pandas DataFrame MultiIndex 重新索引

python - GAE 数据存储 - 写入多于读取时的最佳实践

python - 在 PyQt 中单击时悬停事件

Python Multiprocessing - 修改共享字典中的值

pandas - 根据pandas中给定的特定条件从给定的日期创建year_category

java - Android:getElapsedCpuTime 返回较少的毫秒数

c++ - 递归C++的int递增值的运行时错误

java - 整数时间间隔