pandas调用.to_markdown()时datetime类型显示科学计数法如何解决
解决pandas to_markdown()输出datetime为科学计数法的方法
方法1:临时转换为字符串类型输出(无需升级依赖)
直接将datetime类型的列/序列转换为字符串格式后再调用to_markdown(),适合一次性输出场景:
# 你的示例代码场景,df为datetime类型的Series print(df.astype(str).to_markdown())
如果是多列DataFrame,可批量处理所有日期列,还能自定义输出格式:
df_temp = df.copy() # 筛选所有datetime类型列统一转成格式化字符串 for col in df_temp.select_dtypes(include=['datetime64']).columns: # 如需带时分秒可把格式改为'%Y-%m-%d %H:%M:%S' df_temp[col] = df_temp[col].dt.strftime('%Y-%m-%d') print(df_temp.to_markdown())
输出效果如下:
| 0 | |
|---|---|
| 0 | 2015-02-04 |
| 1 | 2016-03-05 |
方法2:升级依赖版本彻底解决
该问题是低版本tabulate的兼容问题,0.8.10及以上版本的tabulate已经原生支持datetime64类型的友好输出,直接升级依赖即可:
pip install --upgrade tabulate>=0.8.10
升级后无需修改原有业务代码,直接调用to_markdown()就能输出正常的人类可读日期格式。
内容的提问来源于stack exchange,提问作者jwalton
相关产品推荐
相关产品推荐

