
你手头如果正缺一套能直接拿来分析中国区县层面房价走势的数据那这份“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_nameSheet1, 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()转身来处理Shpgeopandas一把梭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 CtrlV粘贴失效数据复制不进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区县二手房数据不过是漫长分析生涯的一个起点真正值钱的是你跟数据死磕过程中积累的那些手感。