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

如何将Pandas生成的timedelta类型运算结果导出至Excel?

解决Pandas Timedelta中位数无法导出到Excel的问题

核心问题原因

你拿到的time_resolved是单个timedelta对象,而非Pandas的DataFrame/Series,这类单个对象没有to_excel方法,必须先将其转换为Pandas支持导出的结构,再处理格式。

解决方案

方法1:直接包装成DataFrame/Series导出(保留Timedelta格式)

将单个timedelta值放进DataFrame,Pandas会自动处理导出格式,新版Excel能识别为时间差:

# 假设已初始化ExcelWriter:writer = pd.ExcelWriter('result.xlsx')
df2 = pd.DataFrame({'中位数处理时长': [time_resolved]})
df2.to_excel(writer, sheet_name="1", index=True)
# 记得关闭writer
writer.close()

方法2:转换为数值类型导出(方便后续计算)

如果需要纯数字格式,可将timedelta转换为总秒数、分钟数或小时数:

# 转换为总秒数
median_total_seconds = time_resolved.total_seconds()
# 转换为总分钟数(保留小数)
median_total_minutes = time_resolved.total_seconds() / 60
# 转换为总小时数(保留小数)
median_total_hours = time_resolved.total_seconds() / 3600

# 包装成DataFrame导出
df2 = pd.DataFrame({
    '中位数处理时长(秒)': [median_total_seconds],
    '中位数处理时长(分钟)': [median_total_minutes]
})
df2.to_excel(writer, sheet_name="1", index=True)
writer.close()

方法3:转换为可读字符串导出

如果需要保留"X days X hours X mins"的可读格式,直接转字符串后包装:

median_time_str = str(time_resolved)
df2 = pd.DataFrame({'中位数处理时长': [median_time_str]})
df2.to_excel(writer, sheet_name="1", index=True)
writer.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:16:20