You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中统一混合日期列格式并去除ISO时区后缀?

处理混合日期时间格式的解决方案

针对你100万行数据中temp_datetime列的两种混合格式,我们可以通过矢量化操作高效处理,确保保留原时间数值并统一格式:

步骤1:区分两种格式的记录

先通过字符串匹配筛选出带时区后缀的ISO格式记录:

# 标记出ISO格式的行(包含"+00:00")
iso_mask = temperature_df['temp_datetime'].str.contains(r'\+00:00')

步骤2:分别处理两种格式

  • 处理ISO格式:直接截取时区后缀前的部分,保留原时间数值
# 去掉"+00:00"后缀
iso_formatted = temperature_df.loc[iso_mask, 'temp_datetime'].str.split('+', n=1).str[0]
  • 处理美式格式:解析为datetime对象后转换为标准的无时区字符串格式
# 解析美式日期(注意格式里的两个空格),再转成目标格式
us_formatted = pd.to_datetime(
    temperature_df.loc[~iso_mask, 'temp_datetime'],
    format='%m/%d/%Y  %I:%M:%S %p'
).dt.strftime('%Y-%m-%d %H:%M:%S')

步骤3:合并结果并替换原列

将处理后的两部分数据合并,按原索引排序后替换原列:

# 合并并恢复原顺序
temperature_df['temp_datetime'] = pd.concat([iso_formatted, us_formatted]).sort_index()

验证结果

处理后你可以查看前几行确认格式统一:

print(temperature_df['temp_datetime'].head())

这样处理既保证了100万行数据的处理效率,又严格保留了原时间数值,最终所有记录都会统一为YYYY-MM-DD HH:MM:SS的无时区格式。

内容的提问来源于stack exchange,提问作者slwt86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:07:27