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

如何在Pandas数据框中基于温度列创建采暖度日(HDD)列?

在Pandas数据框中创建采暖度日(HDD)列

嘿,我来帮你搞定这个采暖度日(HDD)的计算!虽然你没给出具体公式,但先给你最常用的标准实现——毕竟HDD的核心逻辑大多围绕基准温度和实际温度的差值展开。

通用HDD计算逻辑

通常采暖度日的计算是基于一个基准温度(比如很多地区用18℃作为舒适阈值):

当实际温度 < 基准温度时,HDD = 基准温度 - 实际温度
当实际温度 ≥ 基准温度时,HDD = 0

用公式简化就是:HDD = max(基准温度 - 实际温度, 0)

Pandas实现代码

直接用矢量化操作就行,比apply效率高多了,适合处理大数据集:

  1. 先定义你的基准温度(这里用18℃举例,你可以换成自己需要的值):
base_temperature = 18
  1. 创建HDD列,这里给你两种等价的写法,选你顺手的:
  • 用Pandas自带的clip方法:
df['HDD'] = (base_temperature - df['temp']).clip(lower=0)
  • 用NumPy的maximum函数:
import numpy as np
df['HDD'] = np.maximum(base_temperature - df['temp'], 0)

自定义公式适配

如果你的具体计算公式和这个通用版不一样,只需要把base_temperature - df['temp']替换成你的自定义表达式,再用clip(lower=0)或者np.maximum(..., 0)确保结果不会出现负数(如果你的逻辑有这个要求的话)。比如要是需要加权或者不同的基准规则,直接调整核心计算部分就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:22:43