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

Pandas行遍历与日期运算实现办公楼温度波动数据特征列新增

解决方案

以下基于Python的pandas库实现需求,默认你已导入pandas(import pandas as pd)和numpy(import numpy as np)库,且已将数据集读取为DataFrame变量df,索引为DateTime类型。

问题1:新增早间/夜间二分类特征列

你的数据集已提前过滤出仅包含早间、夜间的波动时段,可直接通过时间属性判断标记:

# 确保索引为datetime格式
df.index = pd.to_datetime(df.index)
# 自定义时段划分规则,可根据你的实际波动时段调整时间范围
def get_period_tag(timestamp):
    # 早间时段:6:00-10:00 标记为0
    if pd.to_datetime("06:00:00").time() <= timestamp.time() <= pd.to_datetime("10:00:00").time():
        return 0
    # 夜间时段:18:00-23:59 标记为1
    elif pd.to_datetime("18:00:00").time() <= timestamp.time() <= pd.to_datetime("23:59:59").time():
        return 1
    # 非波动时段(你的数据集已过滤,可忽略)
    else:
        return np.nan
df['is_night'] = df.index.map(get_period_tag)

如果你的波动时段没有其他杂值,也可以用更简单的小时判断:df['is_night'] = df.index.hour.map(lambda x: 0 if x < 12 else 1)

问题2:按日期、时段计算温度变化时长并追加到所有行

首先提取日期列作为分组依据,再按【日期+时段】分组计算每个组的温度变化时长,最后回填到组内所有行:

# 提取日期列用于分组
df['date'] = df.index.date
# 自定义时长计算函数,X、Y为目标温度阈值
def calc_temp_duration(group, X, Y):
    # 按时间升序排序,保证时序正确
    group = group.sort_index()
    period_tag = group['is_night'].iloc[0]
    # 早间是升温过程:找首次≥X、首次≥Y的时间差
    if period_tag == 0:
        start_ts = group[group['OfficeTemp'] >= X].index.min()
        end_ts = group[group['OfficeTemp'] >= Y].index.min()
    # 夜间是降温过程:找首次≤X、首次≤Y的时间差
    else:
        start_ts = group[group['OfficeTemp'] <= X].index.min()
        end_ts = group[group['OfficeTemp'] <= Y].index.min()
    # 计算时长,单位可自行调整:除以3600为小时,除以60为分钟
    if pd.notna(start_ts) and pd.notna(end_ts):
        duration = (end_ts - start_ts).total_seconds() / 60
    else:
        # 该时段未完成X到Y的温度变化,标记为空值
        duration = np.nan
    group['change_duration_min'] = duration
    return group
# 代入你需要的X、Y温度阈值,比如X=17,Y=22
X = 17
Y = 22
df = df.groupby(['date', 'is_night'], group_keys=False).apply(lambda g: calc_temp_duration(g, X, Y))

注意事项

  • 若温度变化过程存在波动(比如先升后降),上述逻辑取的是首次达到阈值的时间,如果你需要统计温度在X-Y区间的总停留时长,可调整为取区间内的最早和最晚时间差
  • 空值可根据需求过滤或填充,不会影响后续ANN模型训练

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:00