数据分析实战,用Python热力图分析房地产市场

在Python中创建地理热力图,以发现房地产折扣的不良情况。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

来源:https://www.bankrate.com/real-estate/distressed-property/

不良房地产物业是指濒临取消抵押品赎回权的房屋或已经被银行拥有的房屋。投资者经常寻找这些房产,因为有机会以折扣价购买房屋。

然而,寻找这些房产并评估它们的潜力可能是一项具有挑战性的任务,尤其是在房地产市场复杂的大城市。

地理热力图可以成为发现不良房地产折扣的有力工具。热力图使用颜色编码来表示地图上的价值,使之可以轻松识别趋势和模式。在本文中,将展示如何在Python中使用房地产数据创建地理热力图,为客户识别不良房地产的折扣。

创建地理热力图

为了创建地理热力图,我们使用Python中的folium库。Folium是一个Python库,它可以轻松创建带有颜色编码标记和叠加层的交互式地图。

在这个任务中需要的数据是:

  1. 房产的纬度和经度

  2. 房产的折扣,可以通过使用最低销售价格除以估计的市场价值来计算

数据准备

1.导入数据,并检查需要的列

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np 

data_mw = pd.DataFrame(pd.read_csv('Vendue_Tech/data/data_collection_mw_ml.csv',  low_memory=False))

df_loc = data_mw[['location','discount_calculated']]

df_loc

######################################################################

Out[16]: 
                   location  discount_calculated
41     45.816608, 15.941879             0.000000
71     44.558022, 14.886877             0.800000
182    45.828371, 16.067598             0.800000
200    45.650070, 16.537105             0.800000
201    45.650070, 16.537105             0.800000
                     ...                  ...
23570   41.417765, 2.207708             1.067182
23917  38.373215, -0.488444             0.250780
24087  39.948468, -0.095799             0.470790
24431  41.656043, -0.889369             0.636979
24537  38.090955, -0.727618             0.732907

2.分离纬度和经度

在导入的原始数据库中,我们得到了一个包含纬度和经度的列,因此需要先将这两种数据分开:

df_loc[['latitude', 'longitude']] = df_loc['location'].str.split(',', expand=True)

# 将纬度和经度列转换为浮点数类型
df_loc[['latitude', 'longitude']] = df_loc[['latitude', 'longitude']].astype(float)

df_loc

######################################################################

Out[22]: 
                   location  discount_calculated   latitude  longitude
41     45.816608, 15.941879             0.000000  45.816608  15.941879
71     44.558022, 14.886877             0.800000  44.558022  14.886877
182    45.828371, 16.067598             0.800000  45.828371  16.067598
200    45.650070, 16.537105             0.800000  45.650070  16.537105
201    45.650070, 16.537105             0.800000  45.650070  16.537105
                     ...                  ...        ...        ...
23570   41.417765, 2.207708             1.067182  41.417765   2.207708
23917  38.373215, -0.488444             0.250780  38.373215  -0.488444
24087  39.948468, -0.095799             0.470790  39.948468  -0.095799
24431  41.656043, -0.889369             0.636979  41.656043  -0.889369
24537  38.090955, -0.727618             0.732907  38.090955  -0.727618

3.绘制地理热力图

  • 安装Folium

可以使用以下pip命令来安装Python folium模块:

pip install folium
  • 创建一个包含所有属性的纬度、经度和权重(折扣值)的列表,并显示列表中的前五个值。

lats_longs_weight = list(map(list, zip(df_loc["latitude"],df_loc["longitude"],
                          df_loc["discount_calculated"]
                         )))

lats_longs_weight[:5]

#####################################################################

Out[24]: 
[[45.816608, 15.941879, 0.0],
 [44.558022, 14.886877, 0.7999999598695077],
 [45.828371, 16.067598, 0.7999999580250712],
 [45.65007, 16.537105, 0.8000000798932306],
 [45.65007, 16.537105, 0.8000000798932306]]
  • 创建地理热力图:

# 导入库
import folium
from folium.plugins import HeatMap

# 我们通过传递一个整数值给`zoom_start`属性来设置缩放级别
# 我们选择`location = [40.151384,-4.108039]`,这样就可以围绕我们最常去的地方进行放大。
map_obj = folium.Map(location = [40.151384,-4.108039], zoom_start = 4)

# 创建我们的地理热力图
HeatMap(lats_longs_weight).add_to(map_obj)

# 保存热力图
map_obj.save('map.html')
  • 现在可以选择我们的map.html文件,并直接在浏览器中打开它:

结果和结论

从上述图片可以看到,在克罗地亚,投资者在首都Zagreb附近有最大的机会,而在西班牙,最大的折扣可以在Barcelona和Alicante附近找到。在未来的工作中,探索这些按房地产类型划分的数据将是有趣的,这样投资者就可以看到在哪些地方的公寓折扣最大,以及如果投资者想投资耕地应该在哪里寻找。

地理热力图工具使我们能够直观地看到欧盟各地不良房地产的折扣情况。通过分析房地产数据并将其在地图上可视化,投资者能够确定折扣最高的地区,并优先在这些地区寻找不良房地产。这项技术帮助投资者发现了可能会错过的潜在投资机会。

推荐书单

《Pandas1.x实例精解》

《Pandas1.x实例精解》详细阐述了与Pandas相关的基本解决方案,主要包括Pandas基础,DataFrame基本操作,创建和保留DataFrame,开始数据分析,探索性数据分析,选择数据子集,过滤行,对齐索引,分组以进行聚合、过滤和转换,将数据重组为规整形式,组合Pandas对象,时间序列分析,使用Matplotlib、Pandas和Seaborn进行可视化,调试和测试等内容。此外,该书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。《Pandas1.x实例精解》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

《Pandas1.x实例精解》([美]马特·哈里森,等)【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《Pandas1.x实例精解》在线选购,本书作者:,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=N658https://item.jd.com/13255935.html

精彩回顾

《数据分析实战,用Pandas分析二手车市场行情》

《学习效率翻倍,用ChatGPT来学习SQL数据分析》

《11个超级实用的Pandas函数(下)》

《11个超级实用的Pandas函数(上)》

《分析气象数据,向Python Cartopy地图中添加循环点》

《数据分析必备技能,用4种方法重命名Pandas中的列》

微信搜索关注《Python学研大本营》,加入读者群

访问【IT今日热榜】,发现每日技术热点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值