☰
2015-2025年区县二手房房价数据Excel/Shp实操指南
2026/10/6 13:25:18 网站建设 项目流程

你手头如果正缺一套能直接拿来分析中国区县层面房价走势的数据,那这份“2015-2025年我国区县逐月二手房房价数据(Excel/Shp格式)”应该能省掉你大半的造轮子时间。我做数据分析这些年,见过太多人卡在第一步——数据收集和清洗上,尤其是涉及行政区划、GIS地图和时序数据叠加的时候,Excel里翻半天、Shp属性表对不上简直是家常便饭。这篇文章就把这套数据的来龙去脉、坑点和实操姿势一次性说清楚,顺便把我踩过的雷、发现的捷径一并交代了。

先说它是什么:这是一份覆盖2015年至2025年、按月度更新的区县级别二手房成交价格数据集,同时提供Excel表格和Shp矢量两种格式。Excel版方便做统计筛选、透视和快速建模,Shp版则可以直接拖进ArcGIS、QGIS做空间可视化或和地图边界做关联分析。你无论是研究县域经济、做房地产评估、写论文,还是仅仅想看看自己所在区县的二手房价格走势,这套数据都是很理想的起点。

1. 这套数据的价值,在于“区县口径”和“全周期覆盖”

1.1 为什么区县级别数据这么难得?

市面上免费的房价数据,绝大多数只到城市级别,比如“北京均价”“成都均价”,再细一点的到行政区和商圈,但往往时间短、口径乱,而且很多是爬虫抓来的挂牌价,跟真实成交价有偏差。而区县级别的月度数据,能让你看到同一城市内部的分化——例如同一个城市,核心区老破小和郊区次新房的价差趋势、涨跌节奏完全可能是两套剧本。如果你做的是区域经济、城市空间结构或者学区房相关的研究,只有城市级数据根本不够用。

这套数据最大的卖点在于“逐月+区县”的双重颗粒度。逐月意味着你可以做季节调整、计算同比环比、识别政策冲击的短期响应;区县则意味着可以把数据落到地图上做空间自相关、热点聚类,甚至能观察到城市内部的“价格溢出效应”。我实际用下来,这份数据配合行政区划Shp边界,基本能覆盖绝大多数区域经济类分析的前期数据需求。

1.2 Excel与Shp格式各自适合什么场景

Excel格式适合90%的日常分析。你可以用数据透视表快速做出“某省某市某区县的月度价格走势”,也可以用VLOOKUP或XLOOKUP关联其他经济数据,比如人口、GDP、地铁里程等。如果你习惯用Python做数据分析,pandas直接读Excel不要太顺手。即使你不是专业分析师,只是想知道自己所在区县的房价这些年涨了多少,用Excel拉个折线图也完全够用。

Shp格式则是空间分析的入口。Shp是GIS领域的事实标准,ArcGIS、QGIS、GeoDa这些主流软件都原生支持。把Shp拖进软件,你会看到每一个区县多边形都带着对应的房价属性表,按时间字段着色,就能直观看到价格的空间分布和演变。如果你想把房价数据和夜间灯光、路网密度、POI数据叠加起来做综合城市分析,Shp格式是绕不开的。

提示:如果你两种都不熟悉,建议从Excel开始。Excel不需要任何GIS基础,但Shp格式的学习曲线陡一些,尤其要注意坐标系和属性表关联,这部分我在后面会详细讲。

2. 数据从哪里来?字段结构怎么设计才合理?

2.1 字段设计的底层逻辑

这套数据在字段设计上做了微妙的平衡。核心字段包括:省份、城市、区县名称、区县行政代码、年月(如202308)、二手房均价(元/平方米)、样本量、环比涨跌幅、同比涨跌幅等。行政代码这个字段很关键,它是区县和Shp地图关联的“主键”,否则你光靠区县名称去匹配,一定会因为“XX区”还是“XX区(新区)”这样的命名差异而翻车。

年份字段建议用整数存储,月份单独一个字段,方便后续筛选和透视。均价的单位统一用“元/平方米”,陃口一致,不要混用“万元”或“元/平”。样本量字段也很关键,代表该区县当月纳入统计的成交房源数量,这个字段在做数据可信度评估时非常有用——如果一个区县当月样本量只有个位数,那均价很可能被一两套高端房源拉偏,分析时要格外小心。

2.2 时间跨度为什么从2015年说起?

2015年是中国房地产市场的一个分水岭,从这一年开始,二手房交易规模逐步放大,数据可得性和质量都上了一个台阶。往前追溯,很多区县的二手房成交记录零散不全,很多月度的样本量小到无法形成统计意义。2015年至今恰好覆盖了一轮完整的市场周期:去库存、房价快速上涨、调控收紧、疫情冲击、再到近两年的调整回落。做研究的人最怕的就是时间窗口太短,看不出周期规律,而十年数据恰好可以支撑起中周期分析。

3. Excel实操:从清洗到透视表的完整流程

3.1 拿到Excel后,第一步不是分析,是“体检”

我拿到任何一份新数据,从来不会上来就做图表。先花十分钟做数据体检。首先确认每个字段的类型——日期序列是否被Excel自动转成了真日期,均价列是否混入文本(比如带千分位逗号的字符串),行政代码是否有前导零被Excel吞掉的情况(这几乎必发生,因为Excel默认把数字前面的零去掉,而我国县级行政区划代码是6位数字,很多以0开头,比如北京市东城区前两位就是“11”开头倒还好,但很多区的代码中间含0,一旦被拆掉就没法精确匹配了)。

体检方法很简单:先全选数据区域,用条件格式高亮重复值,再检查均价字段最小值是否为0或负数,检查是否有空行和异常样本。如果是月度数据,顺手验证一下有没有缺月份,有些数据会在某几个月缺区县,这时候要做插补还是直接删行,取决于你的研究设计。

3.2 制作动态图表的操作要点

数据清洗完毕,直接插入透视表,行字段放“年月”,列字段放“省份”,值字段放“均价”平均数,然后插入折线图,就能看到全国各省的分化走势。如果想看某个具体区县,用切片器做筛选,交互感比静态图表好很多。我在给客户做报告时,最常用的是一张全国均价热力图加若干重点区县的小多图(small multiples),配合数据条或者色阶,十秒钟就能抓住核心结论。

Excel操作层面有几个细节容易踩坑:第一,透视表默认值字段是“计数”,要手动改成“平均值”;第二,年月字段如果存的是文本“202308”,透视表排序会按字符串排,202312会排在20231前面,建议额外生成一个真正的日期列,或者把年月拆成年份和月份两列;第三,Excel里做百分比变化时,注意环比计算基期不能为0,否则#DIV/0!报错。这些虽然都是小问题,但实际操作中很影响效率。

3.3 年度汇总和城市分化分析模板

我通常会在数据旁边另建一个Sheet做汇总,用SUMIFS或透视表把月度数据聚合成年度数据。这样能避开月度波动,直接就年度维度观察城市内部分化。比如选出省内所有区县,按2024年全年均价降序排列,再把2023年同样排名放在旁边,就能看出哪些区县排名跃升、哪些掉队,这个信息量大且直观。用条件格式里的色阶做“红涨绿跌”(注意国内习惯是红涨绿跌,跟欧美相反)标注,一眼就能扫出一张城市房价排行榜。

注意:房价是高度区域化的数据,做省内对比时一定要保持区县口径一致。有些区县在十年间经历过“撤市设区”“县改区”的调整,这会导致同名称在不同年份对应的地理范围不一致。遇到这种情况,最好统一使用最新的行政区划编码,并在备注里标注历史沿革说明。

4. Shp数据实操:从挂接到空间可视化的完整路径

4.1 坐标系与投影:最常见的翻车点

Shp格式本身不带坐标系知识,你需要确保它的坐标系信息是明确的。绝大多数国内区县边界用的是CGCS2000或WGS84经纬度坐标,因此打开后地图可能显示在赤道附近一条“线”上,这不是数据错了,而是你忘了在图层属性里设置坐标系或者设置了错误的坐标系。做面积计算或距离测算时,务必把图层投影到适合中国区域的投影坐标系(比如Albers等积投影或UTM分带),否则算出来的面积会离谱到你怀疑人生。

如果你手头有自己准备的底图边界,而这份房价Shp的坐标系正好跟底图不一致,比如一个WGS84、一个Web Mercator,最简单的办法是使用ArcGIS的“投影”工具把其中一个转换过去。不要直接靠“定义投影”功能来糊弄,那个只改元数据,不改变实际坐标值。

4.2 属性挂接:区县名称和代码的双保险

拿到Shp数据后,第一件事不是急着画图,而是先打开属性表看看字段内容。你需要按“县代码”或“行政区划代码”字段和地图边界做关联,如果边界Shp也有同一个代码字段,直接用Join操作一键挂接即可。如果没有代码字段,只能靠名称关联,那就要小心了——我遇到过“XX市辖区”被拆成多个区,或“XX县”改成“XX区”这类情况,名称匹配大概率会漏掉一批,建议做完关联后检查一下关联率,低于95%就要回头查问题。

还有一种保险做法:先用Excel维护一份“区县代码-名称-所属地市”的对照表,再通过pandas或Excel的VLOOKUP把数据整理成规范格式,最后再通过唯一代码与Shp关联。这样即使区县改名,只要代码不变,依然能准确关联。

4.3 按年月批量出图的技巧

在做空间分析时,经常要展示同一个区县在不同年份的房价变化,这就涉及批量出图。Arcgis里可以用“按属性选择”逐年筛选数据,然后右键图层→属性→符号系统,用“数量分级色彩”按年度字段渲染,再通过批量出图工具(Data Driven Pages或ArcGIS Pro的Layout)一次性导出十年地图。如果你嫌麻烦,也可以用Python脚本结合arcpy循环出图。

网上有人问“arcgis批量出图想插入excel表格”,我自己试过可以把Excel表格截图成透明背景PNG,在Layout视图里作为外部图片插入,配合地图做图文混排。这个方法虽然土,但稳定不出错,比在ArcGIS里直接搞表格块省事得多。

5. 用Python做房价时序分析的关键步骤

5.1 读入与预处理:pandas两行代码搞定

如果你主用Python,流程可以简洁很多。先用pandas读Excel,再把年月字段转成datetime格式,选择目标区县的所有月份数据画线图。核心代码如下:

import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('二手房房价数据.xlsx', sheet_name='Sheet1', dtype={'行政区划代码': str}) df['年月'] = pd.to_datetime(df['年月'].astype(str), format='%Y%m') df = df.sort_values(['行政区划代码', '年月']) one_county = df[df['区县名称'] == '某区'].copy() plt.figure(figsize=(12, 6)) plt.plot(one_county['年月'], one_county['均价']) plt.title('某区二手房均价走势(2015-2025)') plt.xlabel('年月') plt.ylabel('均价(元/平方米)') plt.grid(True) plt.show()

转身来处理Shp,geopandas一把梭:

import geopandas as gpd gdf = gpd.read_file('二手房房价数据.shp') gdf = gdf.to_crs('EPSG:4490') # CGCS2000 print(gdf.head())

5.2 计算环比和同比需要注意的时间陷阱

房价时序分析里最常犯的错误是搞混环比和同比的基期。环比是本月的均价与上月的差值除以上月均价,反映短期波动;同比是本月的均价与去年同月的差值除以去年同月均价,去除季节性影响,反映长期趋势。每个月的数据要跟上一行(环比)和12行前(同比)对齐计算。用pandas的shift函数很方便,但注意数据必须严格按区县分组后排序,否则数据会串区县。

df['环比'] = df.groupby('行政区划代码')['均价'].pct_change() df['同比'] = df.groupby('行政区划代码')['均价'].pct_change(12)

这两个字段计算完做好后,我一般会再检查一遍首尾值是否为空——因为第一个月的环比和第一年的同比没有基期,本身是空值,这是正常的,不用删掉,分析时注意即可。

5.3 房价与宏观指标的联动分析思路

有了这套逐月区县数据,你几乎可以做很多有意思的实证研究。比如拉入城市级“常住人口”“人均可支配收入”数据,先做相关分析,再跑面板回归看房价的收入弹性;或者把区县按“市中心、近郊、远郊”分类,对比三类区域的价格波动方差,看哪类区域波动更大——一般远郊波动更大,情绪盘更多。再比如算每个区县的“价格偏离度”,即实际价格对长期趋势线的偏离比例,能快速识别哪些区县存在高估或低估。这些都是我在实际咨询项目里常做的分析,非常实用。

6. 常见问题与排查技巧实录

6.1 Excel打开后“文件格式或扩展名无效”怎么办?

这个提示基本等于告诉你文件头损坏,或者文件实际是CSV但后缀是XLSX。解决思路很简单:先把文件后缀改成.csv试试,如果还不行就找一个能打开此文件的机器(比如有时是WPS创建的Excel文件,Office打不开),另存成标准xlsx格式。还有一种情况是下载过程断点续传导致数据缺损,重新下载一遍大概率能解决。这个问题的根源大多是数据包在传输过程中被网页安全策略处理过,尤其是从网盘下载的时候。

6.2 “Excel加载项被禁用”导致功能缺失

如果你发现打开Excel后很多功能按钮是灰色的,或者“数据分析工具库”“规划求解”这类加载项没了,多半是加载项被禁用了。处理路径:文件→选项→加载项→转到→在“非活动应用程序加载项”里勾选需要的项,确定后重启Excel。注意如果你用Excel处理这份房价数据时想跑回归或描述性统计,“数据分析工具库”必须启用,否则“数据分析”按钮根本不会出现在“数据”选项卡里。手动启用后建议测试一下“直方图”或“描述统计”功能是否正常,因为很多人启用了加载项但还是找不到按钮,这是版本兼容问题,换Office 2019以上版本就能解决。

6.3 Ctrl+V粘贴失效,数据复制不进Excel

这在这个数据集操作里很常见,尤其是从网页复制定价数据到Excel时。原因可能是Excel打开了多个窗口,或者有隐藏的对话框没关闭(比如“另存为”对话框卡住没关闭)。解决技巧:按Esc键关闭可能的对话框,再点击任意单元格后重试。如果还不行,可以试试用“剪贴板”面板粘贴,或者直接关闭所有Excel进程重新打开。比较玄学但有效的一个办法是:用Windows自带的记事本作为中转——先粘贴到记事本,再复制记事本内容到Excel,这个办法能绕过绝大多数剪贴板失灵问题。

6.4 Shp文件在ArcGIS显示不出来或只有点没有面

原因往往在于几何类型错误或坐标系错乱,以及图层被“定义查询”过滤得只剩极少数图形。最笨也最有效的排查手段:新建一个空白地图,直接把Shp拖进去,看页面左下角的状态栏有没有显示要素数,如果不显示要素,试着用ArcCatalog预览要素几何,看是面(Polygon)还是点(Point)。如果几何类型面变成了线或者点,大概率是数据导出时出了问题,建议从源头Excel重新整理后挂接,而不是在GIS里反复修复。

6.5 四川三调shp等外部边界数据的叠加问题

很多人在做房价空间分析时会引入“三调”(第三次全国国土调查)的行政边界数据,想把它作为底图和房价Shp叠加。这里提醒一句:三调数据的属性字段表结构和代码体系跟普通统计口径不一定完全一致,叠加前先检查区县边界同一级的代码字段是否跟房价数据一致,尤其注意市辖区和县级市的行政级别编码。如果不一致,宁可改用基础地理信息中心的区划码表做中转匹配,也不要硬关联,不然后续所有分析都会建立在一个有偏误的匹配上。

7. 数据更新、维护和扩展实操心得

7.1 怎么把新发布的月度数据增量更新进现有表?

这个方法适用于任何按月更新数据集。先把新月份的Excel数据复制到主表下方,再用“删除重复值”功能按“行政区划代码+年月”组合去重,这能保证同区县同年月份只保留最新记录。如果你用SQL数据库,更方便的做法是建一个主键约束(PRIMARY KEY(区县代码,年月)),然后INSERT OR REPLACE,一行代码就能实现增量更新。不过直接改原Excel文件前记得留一个备份,数据安全永远第一。

7.2 从Excel到Shp全流程避坑清单

为了照顾赶时间的读者,我把整套流程里最容易出问题的点抽出来做成清单,每一条都是真金白银换来的教训:

  • 行政区划代码:读取和转入GIS时,必须保持为文本或字符串格式,防止前导零丢失
  • 字段名:不要用中文做字段名存储时的大难题,建议Excel表头用拼音或英文,便于和Shp属性表无缝衔接
  • 年份字段:月份不足两位的要补零(比如202304),否则排序和连接都会出错
  • 缺失值:千万不要直接删整行,尤其是时间序列中间有缺口时,改成NaN或null,分析时可以选择插值
  • 坐标系:所有Shp数据在分享给别人之前,最好附带一个.prj文件,免得别人打开坐标系未知
  • 匹配验证:做完区县挂接之后,务必统计匹配率,如果低于95%就得回头找原因

7.3 数据陈“旧”,但思路可以新用

这套十年数据本身是固定历史数据集,未来不会自动更新,但它完全可以作为“训练集”,用来校准自己的预测模型。比如我用前8年数据训练,后2年数据做验证,发现区县房价的动量效应和均值回归效应都很显著。你也可以把2025年在售新盘数据、租金数据、法拍房数据作为补充,把二手房均价和租金收益率做成一个简单的“投资价值指数”,这个扩展玩法是很接地气的。

最后说点血脉偾张的个人经验

我自己用这套数据做过一个小项目:把某个省会城市所有区县的十年房价走势全部画在一张图里,然后每三个月抽查一次,观察市场热度从市中心向外围蔓延的节奏。最后发现一个很有意思的事实:这个城市每个上涨周期的启动点都从最核心的两个区开始,大约滞后6个月左右才会扩散到近郊区,而远郊区往往要等12个月以上才反应,且涨幅在时间上缩短、幅度上变浅。这个结论只有区县级别的月度数据才能支撑,换成城市级数据会被完全淹没。

如果你打算长期做房产或城市分析,我强烈建议你养成维护个人数据表的习惯:把分析方法、脚本、图表都沉淀下来,用一套固定的字段风格和管理流程把数据管理起来。数据会过期,但方法体系和判断框架不会。这套2015-2025区县二手房数据,不过是漫长分析生涯的一个起点,真正值钱的,是你跟数据死磕过程中积累的那些手感。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询