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

wrc*_*obb 3 python excel formatting milliseconds pandas

我曾经pandas.groupby将熊猫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
Run Code Online (Sandbox Code Playgroud)

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

有人对如何完成这项壮举有任何见识吗?

更新:

通过使用,我已经靠近了一点to_datetime(df['Average Time'], unit='d')。现在,我的时间像1970-01-01 00:02:57.638400在DataFrame中一样格式化。但是,当to_excel用于导出到Excel时,它们的格式1970-01-01 00:02:58与Excel输出中的格式相同。此时,我只需要删除日期部分并增加毫秒精度即可实现我的目标。有什么想法吗?

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

jmc*_*ara 8

您可以在Pandas中使用datetime_format参数ExcelWriter

import pandas as pd
from datetime import datetime


df = pd.DataFrame([datetime(2014, 9, 18, 12, 30, 5, 60000)])

writer = pd.ExcelWriter("time.xlsx",  datetime_format='hh:mm:ss.000')

df.to_excel(writer, "Sheet1")

writer.close()
Run Code Online (Sandbox Code Playgroud)

给出以下输出:

在此处输入图片说明

另请参阅使用Python Pandas和XlsxWriter