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

Pandas合并日期与小时列为%Y%m%d %H:%M:%S格式问题咨询

问题根因

你将date列转换为datetime类型后,直接转字符串会默认携带00:00:00的默认时间后缀,拼接hour列的时间后就会出现重复的时间段。


方案1(推荐):直接生成datetime类型字段(适配后续时间计算)

不需要转字符串拼接,直接利用pandas的时间运算能力合并两列,生成的字段原生支持时间筛选、序列运算等操作:

import pandas as pd
# 将hour列转换为时间增量,和date列的日期直接相加
prec['Datetime'] = prec['date'] + pd.to_timedelta(prec['hour'])

# 如果需要字符串格式的结果,额外增加一步格式化即可
# prec['Datetime'] = prec['Datetime'].dt.strftime('%Y-%m-%d %H:%M:%S')

方案2:修改原有字符串拼接逻辑

如果只需要字符串格式的结果,调整date列的字符串格式化规则,仅提取日期部分即可:

prec['Datetime'] = prec['date'].dt.strftime('%Y-%m-%d') + ' ' + prec['hour'].astype(str)

两种方案都可以得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:42:01