You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将Timedelta转换为数值格式(如4138000.0)

问题

我正在Jupyter Lab中处理Netflix观看历史的DataFrame,编写了如下代码:

df.loc[df['Profile Name'] == 'karladdo201', 'Duration'].astype('timedelta64[s]').sum()

得到结果:

Timedelta('8 days 12:02:45')

我希望通过以下代码得到类似4138000.0的数值格式结果,该如何修改?

viewTime = {}
viewTime.update({"karladdo201": df.loc[df['Profile Name']=='karladdo201','Duration'].astype('timedelta64[s]').sum()})
viewTime
解决方案

只需要在sum()之后加上.total_seconds()方法,就能把Timedelta类型的结果转换成总秒数的浮点数。修改后的代码如下:

viewTime = {}
viewTime.update({"karladdo201": df.loc[df['Profile Name']=='karladdo201','Duration'].astype('timedelta64[s]').sum().total_seconds()})
viewTime

你也可以省略astype('timedelta64[s]')这一步,直接对原始Duration列求和后调用total_seconds(),结果完全一致:

viewTime = {}
viewTime.update({"karladdo201": df.loc[df['Profile Name']=='karladdo201','Duration'].sum().total_seconds()})
viewTime

原理很直白:sum()返回的是Pandas的Timedelta对象,total_seconds()会把这个时间差直接转换成以秒为单位的浮点数,正好匹配你要的数值格式。

内容的提问来源于stack exchange,提问作者righthere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:06:01