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

我已经使用pandas.groupby在两列上分组一个pandasDataFrame并计算平均和中位数时间。 我的结果数据集看起来类似于这样的:

 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 

我想将这个表格导出为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中被格式化为1970-01-01 00:02:57.638400 57.638400。 但是,使用to_excel导出到Excel时,它们在Excel输出中被格式化为1970-01-01 00:02:58 。 在这一点上,我只需要放弃date部分,并添加毫秒精度来实现我的目标。 有什么想法吗?

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

您可以在Pandas中使用ExcelWriterdatetime_format参数:

 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() 

其中给出了以下输出:

在这里输入图像说明

另请参阅使用Python Pandas和XlsxWriter 。