如何将DataFrame中格式为20130526T150000的日期列转为标准datetime格式?
处理格式为20130526T150000的日期转换问题
单个日期字符串转换为datetime格式
用Python标准库datetime模块解析指定格式的字符串,得到datetime对象;如果需要转换成2013-05-26 15:00:00格式的字符串,再用格式化方法输出:
from datetime import datetime # 原始日期字符串 date_str = "20130526T150000" # 解析为datetime对象 dt_object = datetime.strptime(date_str, "%Y%m%dT%H%M%S") # 格式化为目标字符串(仅需datetime对象可跳过此步) formatted_date = dt_object.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date) # 输出:2013-05-26 15:00:00
格式说明:%Y对应4位年份,%m两位月份,%d两位日期,T直接匹配原字符串里的分隔符,%H24小时制小时,%M分钟,%S秒。
Pandas DataFrame列转换为datetime格式
针对DataFrame中的日期列,用pandas.to_datetime方法并指定format参数,高效完成转换:
import pandas as pd # 示例DataFrame df = pd.DataFrame({"date_column": ["20130526T150000", "20130701T091500", "20130810T223000"]}) # 将列转换为datetime类型 df["date_column"] = pd.to_datetime(df["date_column"], format="%Y%m%dT%H%M%S") # 可选:将datetime列格式化为目标字符串格式(生成新列) df["formatted_date"] = df["date_column"].dt.strftime("%Y-%m-%d %H:%M:%S") print(df)
转换后date_column会成为Pandas的datetime64类型,支持后续时间筛选、分组等操作;若仅需要显示指定格式的字符串,可通过dt.strftime生成新列。
内容的提问来源于stack exchange,提问作者Bon Brown
相关产品推荐
相关产品推荐

