news 2026/10/7 15:06:16

今早 23.3 度就喊冷?我翻了 79 年气温记录,香港的秋天平均迟到两周

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
今早 23.3 度就喊冷?我翻了 79 年气温记录,香港的秋天平均迟到两周

目录

    • 一、数据源:一条 URL 一年,80 次请求拉完 79 年
    • 二、把 23.3 度放回 79 年的 10 月
    • 三、秋天在迟到:每年第一天的「清凉日」漂移了两周
    • 四、底色在变热:2.5 度与 42 天到 5 天
    • 五、给你的三个带走结论
    • 六、30 秒带走版

今早的新闻说,天文台录得最低气温 23.3 度,是今年入秋以来最低;同一波冷空气南下,广州已经跌破 20 度。朋友圈里开始有人翻长袖。我的第一反应不是翻衣柜,是翻数据——「入秋最低」这四个字,放在香港的 10 月里到底算多冷?天文台的开放数据接口里有答案:HKO 站 1947 年至今的每日最低气温,79 年、29,098 天、零缺失,一次脚本全部拉完。结论先说:今天这个 23.3 度,在 79 年的 10 月里比 55% 的日子还要暖;至于大家心心念念的「秋天」,它不但没提前来,还平均迟到了约两周。

一、数据源:一条 URL 一年,80 次请求拉完 79 年

接口是天文台开放数据 API 的气候族:dataType分别有 CLMTEMP(日均)、CLMMAXT(日最高)、CLMMINT(日最低),参数带站号和年份,JSON 返回fields+data两段。HKO 站(香港天文台总部)的序列从 1947 年起连续可用,我逐年抓了 1947-2026 共 80 个年份文件,每个一个请求,间隔 0.25 秒,全程不到一分钟。

先做完整性检查,两个结果值得记下来:

importjson,datetime,statistics rows=json.load(open("原始返回/tmin_1947_2026.json"))recs=[]fory,datainrows.items():forrindata:try:v=float(r[3])except(ValueError,TypeError):v=Nonerecs.append((int(r[0]),int(r[1]),int(r[2]),v))assertlen(recs)==29098# 79 个整年 + 2026 到 8/31assertsum(1forrinrecsifr[3]isNone)==0# 零缺失assertmax((m,d)fory,m,d,_inrecsify==2026)==(8,31)# 跨年日序号统一用闰年锚(2001-01-01 为第 1 天),避免 2 月偏移defdoy(y,m,d):returndatetime.date(2001,m,d).timetuple().tm_yday firsts={}foryinrange(1947,2026):foryy,m,d,vinrecs:ifyy==yandm>=9andv<=20:firsts[y]=(m,d)breakassertlen(firsts)==79dv=[doy(y,*firsts[y])foryinfirsts]assertround(statistics.median(dv))==301# 中位 = 10-28print("中位首破日:",(datetime.date(2001,1,1)+datetime.timedelta(days=300)).strftime("%m-%d"))

两个坑直接写在断言里。其一,2026 年的表只到 8 月 31 日——这套接口按月更新,滞后约两个月,今早的 23.3 度不在这张表里(那是实时读数),本文所有 2026 年 10 月的对照只能来自新闻口径,表内的历史统计到 2025 年为止。其二,「某年第一天」的计算必须用固定锚点的日序号,直接拿月日做字符串排序会把 10 月排在 11 月前面,拿timetuple().tm_yday又会被闰年平移一天——79 年跨度里这种一天误差足以污染中位数。

二、把 23.3 度放回 79 年的 10 月

79 年的 10 月一共有 2,449 天,日最低温直方图的主体横在 22 到 26 度之间。今天的 23.3 度落在第 44.6 个百分位上——79 年里 44.6% 的 10 月日子比今天更冷,换句话说,一个普通香港 10 月的夜晚,比今天冷才是常态。20 度那条「清凉线」左边只住着 48 个年份的尾巴:10 月真正跌破 20 度的年份占 79 年的六成,但天数极少——后面会看到,近三十年这个尾巴正在消失。

历史极值是 1978 年 10 月的 13.5 度;最近一次 10 月跌破 20 度是 2025 年(18.2 度)。这些都是异常值,不是基线。基线是:10 月的香港还在夏天里,新闻说的「入秋」,是日历意义上的,不是体感意义上的。

三、秋天在迟到:每年第一天的「清凉日」漂移了两周

更有意思的是时间轴。我给每年定义一个「清凉日」——入秋(9 月)之后第一个日最低温 ≤ 20 度的日子,然后把 79 年画在一张图上(本文第一张图)。年代中位数的轨迹:

年代中位首破 20 度日期
1940s(3 年样本)10-15
1950s10-19
1960s10-26
1970s10-27
1980s10-29
1990s10-27
2000s11-05
2010s11-01
2020s(6 年)11-01

**从 1950 年代到 2010 年代,香港的「清凉日」中位数从 10 月 19 日漂到了 11 月 1 日,迟到约两周。**最早的纪录是 1997 年 9 月 21 日,最晚是 1998 年 11 月 23 日,一头一尾相差 63 天。个别极端年份(比如 1997、2015 年的 10 月 11 日)说明快秋天也会发生,但中位数不撒谎:近 25 年里,你要等到 11 月才大概率摸到 20 度以下的夜晚。

两个口径必须交代:「秋天开始」没有官方定义,20 度阈值是我自定义的体感口径(与内地气象入秋标准的滑差另计),换 18 度阈值结论方向不变、日期后移;首破日是极值统计,单年噪声大,所以本文只引用年代中位,不引用任何单年趋势。

四、底色在变热:2.5 度与 42 天到 5 天

漂移的背后是基线本身在动。10 月日最低温的十年均值:1940s 22.1 度 → 2020s 24.6 度,抬升 2.5 度;1965-1994 与 1995-2024 两个 30 年窗口对比是 23.08 → 24.11 度。更直观的是 10 月内跌破 20 度的累计天数:1950 年代 42 天、1970 年代 32 天,到 2000 年代只剩 5 天,2010 年代 11 天、2020 年代(6 年)9 天——这个指标塌了近九成。就算某年冷空气够劲(2022 年 10 月 18 日就破了 20 度),也只是短促的一次过境,不再是一段季节。

成因本文不推断——城市化、气候变化、站点环境变迁都可能贡献,官方未做归因,我只呈现口径内的数字。但有一点可以说:「香港秋天越来越短」不是体感错觉,它在 79 年的官方记录里是可测量的。

五、给你的三个带走结论

  1. **别被「入秋最低」骗了。**它是「今年 10 月以来的最低」,不是「冷」。79 年里 44.6% 的 10 月夜晚比 23.3 度更冷——想要真正的凉,看 20 度线,别看新闻标题。
  2. **长袖不用急着翻出来。**按年代中位,清凉日已经漂到 11 月 1 日前后;按 2025 年的节奏(10 月 22 日破线),今年若接近中位,还要等三周以上。
  3. **做时间序列先问三件事:数据到哪天、阈值谁定的、极值还是基线。**今早这条新闻三条全占——数据滞后两个月、入秋无官方定义、拿极值当基线。不是新闻错了,是它回答的问题和你想问的不是同一个。

六、30 秒带走版

  • HKO 开放数据 CLMMINT/CLMTEMP/CLMMAXT 三族,站号 + 年份一请求一年,HKO 站 1947 起连续、零缺失;
  • 2026 年数据滞后到 8/31,月更约两个月的时差,实时读数不在这张表里;
  • 中位首破 20 度日:1950s 10-19 → 2010s/2020s 11-01,秋天平均迟到约两周;10 月均最低温 70 年抬升 2.5 度;
  • 10 月破 20 度天数 42(1950s)→ 5(2000s);23.3 度在历史 10 月里比 55% 的日子暖。

参考链接

  1. https://data.weather.gov.hk/weatherAPI/opendata/opendata.php?dataType=CLMMINT&station=HKO&year=2025&rformat=json
  2. https://data.gov.hk/en-data/dataset/hk-hko-rss-daily-temperature-info-hko

本文实验环境:Python 3.13.12,仅标准库;数据源为香港天文台开放数据 API(CLMMINT,HKO 站,1947-2026.08)。20 度阈值为自定义体感口径,「入秋」无官方定义;成因不做归因;不构成任何生活或出行判断。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 15:05:55

Go开源后台管理系统推荐:4个官方仓库怎么按技术栈和交付形态验收

Go开源后台管理系统推荐&#xff1a;4个官方仓库怎么按技术栈和交付形态验收 如果你搜索“Go开源后台管理系统推荐”&#xff0c;不要先按 Stars 排名&#xff0c;也不要把搜索结果里出现的 GoFrame、Gin、admin panel 和完整后台当成同一类东西。第一轮先看技术栈、权限和交付…

作者头像 李华
网站建设 2026/10/7 15:05:19

8th math [triangles] 2026.10.06

8th math [triangles] 2026.10.06 三角形 8th math [isosceles triangle] 2026.10.06 等腰三角形 8th math [congruent triangles] 2026.10.05 全等三角形 8th math [congruent triangles] 2026.10.06 全等三角形

作者头像 李华
网站建设 2026/10/7 15:04:42

微软输入法自动切换全角BUG修复工具

解决Windows自带微软拼音中英文混合输入时自带切换为全角问题 原问题描述《微软输入法自动切换全角怎么办》https://learn.microsoft.com/zh-cn/answers/questions/3730349/question-3730349知乎《win11输入法变成了默认全角怎么办&#xff1f;》https://www.zhihu.com/questi…

作者头像 李华
网站建设 2026/10/7 15:03:18

ponytail轻量可插拔工具解析:skill与插件开发实战指南

1. 从“ponytail”这个热词说起&#xff1a;它到底是什么第一次看到“ponytail”这个词被当成项目名和插件名在圈子里传开的时候&#xff0c;我承认我愣了一下。马尾辫&#xff1f;这跟技术有什么关系&#xff1f;后来花了大半天时间把相关的讨论串、仓库说明和几个实际用例翻了…

作者头像 李华