Python 3.x 字符串到数据帧列HH:MM:SS.f中的总秒数
在Python3.7中,我想将名为“TIME”的列中的字符串数据更改为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
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()
是获得总运行时间的关键部分
希望这能帮助别人。谢谢