如何去除pandas日期列的时分秒及UTC偏移后缀(streamlit场景)
问题原因
你转换得到的是带时区偏移的datetime类型,输出时的T、时间、时区后缀是该类型的默认显示格式,可通过以下两种方案处理:
方案1:保留日期类型(支持后续日期运算)
如果后续还需要对该列做日期筛选、计算等操作,推荐保留datetime类型,仅移除时区和时间部分:
# 先将带时区的datetime转换为无时区,再提取日期部分 df['Date'] = pd.to_datetime(df['Date']).dt.tz_localize(None).dt.date
方案2:转换为字符串格式(仅用于展示)
如果只需要输出YYYY-MM-DD格式的文本,不需要后续日期运算,可以直接格式化输出为字符串:
df['Date'] = pd.to_datetime(df['Date']).dt.strftime('%Y-%m-%d')
Streamlit场景专属优化
如果只是在Streamlit页面上展示表格,不需要修改原数据,可以直接通过列配置指定日期显示格式:
import streamlit as st st.dataframe( df, column_config={ "Date": st.column_config.DateColumn( format="YYYY-MM-DD" ) } )
内容的提问来源于stack exchange,提问作者Nithin Reddy
相关产品推荐
相关产品推荐

