作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下数据框列:
我需要将 csv 列中的对象字符串数据转换为总秒数。
示例:10m -> 600s
我试过这段代码:
df.duration = str(datetime.timedelta(df['duration']))
但是显示如下错误
TypeError: unsupported type for timedelta days component: Series
最佳答案
'duration'
转换为秒数的正确且矢量化的方法是:
'duration'
转换为时间增量pd.Timedelta(seconds=1)
.dt.seconds
timedelta
以及为什么 .total_seconds
方法完全是个意外。import pandas as pd
# test data
df = pd.DataFrame({'duration': ['10d 15h 23m', '10d 18h 13m']})
# convert duration to a timedelta
df.duration = pd.to_timedelta(df.duration)
# calculate total_seconds
df['total_sec'] = df.duration / pd.Timedelta(seconds=1)
# get seconds for just hours, minutes, seconds
df['sec_without_days'] = df.duration.dt.seconds
# display(df)
duration total_sec sec_without_days
0 10 days 15:23:00 919380.0 55380
1 10 days 18:13:00 929580.0 65580
关于python - 如何将以天、小时、分钟和秒为单位的时间转换为仅以秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63770159/
我是一名优秀的程序员,十分优秀!