如何处理pandas DataFrame中格式不统一的datetime列并去除毫秒
Pandas日期列去除毫秒的实现方案
方案1:转换为datetime类型处理(推荐)
先转成pandas内置的datetime64类型,后续做时间筛选、运算更方便,代码更简洁:
import pandas as pd # 替换date_col为你的实际列名 df["date_col"] = pd.to_datetime(df["date_col"]).dt.floor("S")
如果处理后需要输出为原格式的字符串,可以追加格式化步骤:
df["date_col"] = pd.to_datetime(df["date_col"]).dt.floor("S").dt.strftime("%Y-%m-%dT%H:%M:%SZ")
方案2:直接处理字符串格式
如果你不需要做时间运算,只想修改字符串内容,可以直接用字符串截断逻辑:
# 先去掉末尾的Z,按小数点分割取前半部分,再补回Z后缀 df["date_col"] = df["date_col"].str.rstrip("Z").str.split(".").str[0] + "Z"
两种方案都可以兼容你提到的带毫秒、不带毫秒的两种ISO格式日期,不需要额外做格式判断。
内容的提问来源于stack exchange,提问作者rixis
相关产品推荐
相关产品推荐

