如何在Python中使用pandas将指定时间格式转换为标准DateTime格式
Pandas 将时分秒格式转换为标准DateTime格式实现方法
核心使用pandas内置的to_datetime函数即可完成转换,以下是不同场景的实现代码:
场景1:输入为时:分:秒格式的字符串序列
基础转换代码
import pandas as pd # 构造示例时分秒字符串数据 time_series = pd.Series(["09:15:30", "13:47:21", "21:02:55"]) # 转换为标准DateTime,默认使用当前日期作为日期部分 dt_series = pd.to_datetime(time_series, format="%H:%M:%S") print(dt_series)
自定义日期部分
如果需要指定固定日期作为DateTime的日期部分,直接拼接日期字符串即可:
# 拼接指定日期2024-05-20和时分秒后转换 dt_series_custom = pd.to_datetime("2024-05-20 " + time_series) print(dt_series_custom)
场景2:时分秒分别存储在三个独立列中
如果你的数据中时、分、秒是三个单独的字段,可直接传入字段完成转换:
# 示例DataFrame df = pd.DataFrame({ "hour": [9, 13, 21], "minute": [15, 47, 2], "second": [30, 21, 55] }) # 生成DateTime,默认日期为1900-01-01 df["datetime"] = pd.to_datetime(df[["hour", "minute", "second"]]) # 自定义日期生成 df["datetime_custom"] = pd.to_datetime({ "year": 2024, "month": 5, "day": 20, "hour": df["hour"], "minute": df["minute"], "second": df["second"] })
常用参数说明
format="%H:%M:%S":指定输入时间的格式,可提升转换效率,避免pandas自动推断格式出错errors="coerce":加入该参数后,格式错误的输入会被转换为NaT空值,不会打断转换流程- 转换完成后可通过
dt属性提取时间信息,比如dt_series.dt.hour提取小时、dt_series.dt.minute提取分钟等。

内容的提问来源于stack exchange,提问作者Akash
相关产品推荐
相关产品推荐

