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

如何在Pandas中按固定时间间隔添加带编号的新分类列

Pandas实现按时间点新增分类列的方案

首先确认你的DataFrame的索引为datetime64类型,若不是先执行类型转换:

import pandas as pd
df.index = pd.to_datetime(df.index)

方案1:字典映射(可读性更高,适配自定义规则调整)

创建时间点到编号的映射字典,直接映射生成新列:

# 构建小时对应编号的映射关系
hour_map = {0: 1, 6: 2, 12: 3, 18: 4}
# 新增Number列
df['Number'] = df.index.hour.map(hour_map)

方案2:公式计算(代码更简洁,仅适配当前固定时间间隔规则)

当前4个时间点的小时刚好为0、6、12、18,间隔为6小时,可直接通过算术运算生成编号:

df['Number'] = df.index.hour // 6 + 1

两种方案执行后都会得到你要求的包含Value和Number两列的结果,Number列的取值仅为1、2、3、4四个分类值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:09:03