Python 3.x 字符串到数据帧列HH:MM:SS.f中的总秒数

Python 3.x 字符串到数据帧列HH:MM:SS.f中的总秒数,python-3.x,Python 3.x,在Python3.7中,我想将名为“TIME”的列中的字符串数据更改为total_seconds()。使用ax1.dt.total_seconds()但是我收到了value错误:预期的hh:mm:ss格式 这是数据帧ax1中当前的列:- 我尝试了以下代码:- ax1['TIME'] = pd.to_timedelta(ax1['TIME']) ax1.dt.total_seconds() ax1.map('{:,.2f}'.format) 非常感谢您的帮助 解决了我自己的问题 我补充说 ax

在Python3.7中,我想将名为“TIME”的列中的字符串数据更改为
total_seconds()
。使用
ax1.dt.total_seconds()
但是我收到了value错误:预期的hh:mm:ss格式

这是数据帧ax1中当前的列:-

我尝试了以下代码:-

ax1['TIME'] = pd.to_timedelta(ax1['TIME'])
ax1.dt.total_seconds()
ax1.map('{:,.2f}'.format)

非常感谢您的帮助

解决了我自己的问题

我补充说

ax1['TIME'] = '00:' + ax1['TIME'].astype(str)
从现有的MM:SS.f格式获取HH:MM:SS.f

然后我跑:-

ax1['TIME']=pd.to_timedelta(ax1['TIME'], unit= 'ms') 
ax1['TIME_delta_secs']=ax1['TIME'].dt.total_seconds()
单元
是我原始问题中缺少的关键部分

因为时间不是从零开始的

#Finds 0
if any(dfs[i]['TIME_delta_secs'] == 0):
    Zero_time = dfs[i][dfs[i]['TIME_delta_secs'] == 0].index.values[0]
    dfs[i].loc[dfs[i].index[Zero_time:],"Time_delta_secs"] = dfs[i]['TIME_delta_secs'] + 3600
else:
    pass

    
# Time difference

dfs[i]["time_diff"] = (dfs[i]['TIME_delta_secs']-dfs[i]['TIME_delta_secs'].shift(1))
dfs[i]['time_diff'] = dfs[i]['time_diff'].fillna(0)

# Total running Time 

dfs[i]['Time_total'] = dfs[i]['time_diff'].cumsum()
cumsum()
是获得总运行时间的关键部分

希望这能帮助别人。谢谢