如何在Polars DataFrame中修改日期列格式且不改变数据类型
保持datetime类型的同时设置Date列显示格式
前提:确保Date列是datetime类型
如果你的Date列还不是datetime类型,先执行以下代码转换:
import pandas as pd df['Date'] = pd.to_datetime(df['Date'])
方法一:全局设置所有datetime列的显示格式
这个设置会作用于当前pandas环境中的所有datetime类型列,让它们统一以%d-%b-%y格式(例如05-Jan-24)显示,且列的数据类型依然保持datetime:
pd.set_option('display.datetime_format', '%d-%b-%y')
方法二:仅格式化当前DataFrame的Date列显示
如果不想影响全局设置,只需要当前DataFrame的Date列按指定格式显示,可以使用style.format方法。该方法仅改变显示效果,不会修改列的实际数据类型:
# 生成格式化后的DataFrame样式对象 styled_df = df.style.format({'Date': lambda x: x.strftime('%d-%b-%y')}) # 查看格式化后的结果 display(styled_df)
关键说明
datetime类型的列本质上存储的是时间戳信息,本身并不包含显示格式。上述两种方法都是调整显示层面的格式,完全不会将Date列转换为字符串类型,满足你的需求。
内容的提问来源于stack exchange,提问作者Prajna
相关产品推荐
相关产品推荐

