Excel输出中的Python Pandas自定义时间格式

时间:2014-09-17 19:31:08

标签: python excel pandas formatting milliseconds

我使用pandas.groupby将pandas DataFrame分组在两列上,并计算平均时间和中位数。我得到的数据集看起来与此类似:

Size        Category        Average Time        Median Time
 1             A            0.002056385         0.000310995
               B                                0.000310995
               C            0.000310995
 10            A                                0.001852681
               B            0.000310995
               C            0.000310995

我想将此表导出为Excel并将时间列格式化为Excel中的自定义格式(hh:mm:ss.000)。换句话说,我想将时间视为毫秒级时间。例如,以此方式格式化的0.000310995显示为00:00:26.870(26.870秒)。

有没有人对如何完成这一壮举有任何见解?

更新:

使用to_datetime(df['Average Time'], unit='d')我已经离得更近了。我的时间现在格式化为DataFrame中的1970-01-01 00:02:57.638400。但是,使用to_excel导出到Excel时,它们在Excel输出中的格式为1970-01-01 00:02:58。此时,我只需要删除日期部分并添加毫秒精度来实现我的目标。有什么想法吗?

非常感谢您提供任何帮助 -

1 个答案:

答案 0 :(得分:5)

您可以在Pandas中使用datetime_format的{​​{1}}参数:

ExcelWriter

其中给出了以下输出:

enter image description here

另见Working with Python Pandas and XlsxWriter