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

如何从UTC时间戳数据集中提取24小时制hour字段

解决提取24小时制小时字段的问题

你的问题根源在于两个错误操作:

  • 把解析好的datetime对象转成了12小时制(%I)的字符串,这不仅完全没必要,还丢失了datetime类型的属性,后续调用.dt.hour本质上是对字符串操作,逻辑不成立(实际运行会报错)。
  • 原数据的时间戳本身就是24小时制的UTC格式,根本不需要转成带AM/PM的格式。

直接用以下代码即可正确提取24小时制的hour字段:

# 解析date列为datetime类型,保留datetime对象
df["timestamp"] = pd.to_datetime(df["date"])
# 提取24小时制小时数
df['hour'] = df['timestamp'].dt.hour

如果需要生成可读的24小时制时间字符串,建议单独新增一列,不要覆盖原有的datetime列:

df["timestamp"] = pd.to_datetime(df["date"])
# 新增24小时制格式的字符串列
df["timestamp_str"] = df["timestamp"].apply(lambda x: x.strftime("%Y-%m-%d %H:%M:%S UTC"))
# 从datetime列提取小时数
df['hour'] = df['timestamp'].dt.hour

原数据中的时间比如2010-03-07 01:21:00 UTC,解析后提取的hour为1;若遇到下午时段的时间(如2023-01-01 13:00:00 UTC),提取的hour会是13,完全符合24小时制的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:27:40