将Timedelta从数据帧转换为秒值

2024-09-24 22:18:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为Residualspandas.DataFrame列,它是timedelta格式的(例如00:00:01.14611)。我在Residuals列中列出了47个值,我需要将它们全部转换回一个秒值(即1.14611)。我试过pd.to_numeric(df['Residual'].dt.seconds, downcast='integer'),但没有成功,还有其他一些方法。你知道吗

任何输入都将非常感谢,因为我对使用Python和pandas数据帧非常陌生。谢谢


Tags: todataframepandasdf格式dttimedeltapd
1条回答
网友
1楼 · 发布于 2024-09-24 22:18:06

请看一下time-delta objects文档。它本质上是两个datetime.date/datetime.datetime对象的区别。你知道吗

此代码片段将很容易解释您想如何解决问题:

>>>from datetime import datetime
>>>d1 = datetime.now()
>>>d2 = datetime.now()

>>>d2-d1
datetime.timedelta(0, 8, 14319) 
>>>(d2-d1).total_seconds() 
8.014319

你应该试试df["Residual"].dt.total_seconds()

编辑:

df['Residual'].apply(lambda x: x.total_seconds())

相关问题 更多 >