如何将类似2016-01-05T00:00:00的Timestamp转换为日期格式?
解决建议
不管当前数据是字符串类型还是已解析的datetime/timestamp类型,都可以用以下方案处理:
方案1:字符串截取(适配固定格式字符串)
如果数据是2016-01-05T00:00:00这类固定格式的字符串,直接按T分割取前半段即可:
# 假设目标列名为date_col df['date_only'] = df['date_col'].str.split('T').str[0]
方案2:datetime工具统一处理(通用型)
不管原数据是字符串还是timestamp类型,先转为datetime对象再提取日期:
import pandas as pd # 生成datetime.date类型的日期 df['date_only'] = pd.to_datetime(df['date_col']).dt.date # 或者生成字符串格式的日期(如2016-01-05) df['date_only'] = pd.to_datetime(df['date_col']).dt.strftime('%Y-%m-%d')
两种方式按需选择,前者是日期对象,后者是标准字符串格式。
方案3:数据库层直接提取(源头简化处理)
如果能修改数据库查询语句,直接在查询阶段就只获取日期部分:
以SQL为例:
SELECT DATE(your_timestamp_column) AS date_only FROM your_table;
这样返回的结果直接就是不带时间的日期格式,无需后续代码处理。
内容的提问来源于stack exchange,提问作者jikf
相关产品推荐
相关产品推荐

