使用pd.to_datetime处理多格式时间数据补全日缺时分秒
统一多格式时间数据为完整时间戳
你的需求可以直接通过pd.to_datetime()实现,它能自动识别混合的时间格式,对于仅含日期的条目会自动补全00:00:00的时分秒部分。
代码实现
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ 'date': ['29.05.2023 01:00:00', '29.05.2023', '28.05.2023 23:00:00'] }) # 转换为datetime类型,自动补全日仅日期的时分秒 df['date'] = pd.to_datetime(df['date'], dayfirst=True) # 可选:转换回指定的字符串格式(dd.mm.yyyy HH:MM:SS) df['date'] = df['date'].dt.strftime('%d.%m.%Y %H:%M:%S') # 输出结果 print(df['date'])
关键说明
dayfirst=True:因为你的日期格式是日.月.年,这个参数确保函数正确解析日和月的顺序,避免出现解析错误。- 如果不需要字符串格式,保留datetime类型即可,后续时间计算更方便;如果需要固定的字符串展示格式,用
dt.strftime()指定格式即可。
运行后输出结果:
0 29.05.2023 01:00:00 1 29.05.2023 00:00:00 2 28.05.2023 23:00:00 Name: date, dtype: object
内容的提问来源于stack exchange,提问作者Paul Borowy
相关产品推荐
相关产品推荐

