
最近在一个相对比较知名的房源网站上爬取了一份深圳各个区的租房信息，总共获得了`2000*12`的数据集。

在获得了相应的数据之后，利用`Python`的第三方库`pandas`进行前期的数据清洗工作，最后可视化库plotly绘制了相应的可视化图形进行了展示，并且得到了一些租房的结论，供租房者参考，自己对深圳的租房也有了一定的认识。

- 爬虫数据获取
- 数据清洗处理
- 数据可视化展示
- 得到结论

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SlUtfueMSbpkskBxEXb0g0pLPE6Zo8iatPENFff7oQ550rzGlyiaJkgLw/640?wx_fmt=jpeg)

## **一、数据爬取**

本文中获得的数据是自己通过爬虫从网上获取的。这个房源没有太多的反爬虫措施，所以爬取的过程没有遇到困难，比较顺利。

### 1.1 导入各种库

首先，我们需要导入各种库，具体如下：

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6ScGHkJBUUWcia7bicbx6HSVqmcfOLQfVBIkZ8TF7bn9VLicibsBZicRBKBWw/640?wx_fmt=jpeg)

### 1.2 代码

下面👇是整个爬虫的源代码，主要是包含了以下几方面的信息：

- 在爬虫过程中需要设置请求头，伪装成浏览器的操作
- 如何利用`Xpath`进行数据解析
- 如何将`Python`中的字典类型数据转成`json`类型数据，主要是掌握`json`包的使用
- 获取到数据后，使用`xlwt`进行数据的保存

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SNiaPIsiaU3LiagTQytqMBywRPCjpYdocIpBE6HY8GSVViblQjI2DL6fgicg/640?wx_fmt=jpeg)

## **二、数据处理**

### 2.1 数据的读取

上面的数据保存成了excel数据，我们直接通过pandas的read_excel来进行数据的读取

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SPx8FVmzrly4oOk1rH81nOXW3MdWPoiaCzF9fUldj1vXicu5jicyX5viatw/640?wx_fmt=jpeg)

### 2.2 字段含义

下面👇对每个爬取的每个字段对应的含义进行了解释：

```
"""
name: 小区的名字
layout：户型
location：朝向
size：房子建筑面积大小
sizeInside：套内面积大小
zhuangxiu：精装、豪装、普装、毛坯
numberFloor：楼层数
time：建成时间
zone：区
position：所在区的具体位置
money：价格
way：出租方式（整租或者合租）
"""
```

### 2.3 原始数据信息

首先我们查看下数据的原始信息：

- 数据类型
- 是否有缺失值

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SG28EcP3K1ztWZqibhbRkN4GlKr6gtHRiawe64TxdYlp0sCbq0RktUnGw/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SJFb4v3yoVXS3xzibn3QTtKicPO9COq1jVYwQXp4gNAqgapd7pmn1urqA/640?wx_fmt=jpeg)

### 2.4 删除缺失值

使用的是dropna函数，两个重要的参数：

- axis：0表示行，1表示列
- how：any表示至少有一个缺失值，all表示必须全部为缺失值

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Szufm4N9kWTzH8Pia99DFPicKqpeNELoNWibjQm0hZbttB65w2PptWMibxA/640?wx_fmt=jpeg)

## **三、字段处理**

### 3.1 为何处理

对于我们已经获取到的数据字段，针对其中的某些字段，我们处理的只是其中某些信息，所以我们需要将它们从原始数据中提取出来再处理

### 3.2 处理方法

在这里介绍3种方法来处理数据：

1. 通过向`apply`方法传入我们处理的函数或者方法
2. 通过正则表达式来处理
3. 通过`replace`方法来处理

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SJ4CP1iblCzUTsuJWWpYLiauH0hF4YWAHfol8qh9KTn7Xe9GJzsicTVxRQ/640?wx_fmt=jpeg)

### 3.3 处理前后对比

我们看下处理前的前5条数据：

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SPQZRho9kvgd5PyLyFtEZSeWtAS3C0IXuicJ7l2BxKicyQs50sDaSzoiaw/640?wx_fmt=jpeg)

处理之后我们增加了一个room字段，表示的是多少个房间

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SF8RTa63o47hJPV8NJNR3TXqckLcZ4LfczTzx79Rx4iaaDqjlzpFtxvA/640?wx_fmt=jpeg)

在经过处理之后，数据的类型也发生了变化：

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SHAjJnZZRwj2em11PCcbG1D9W4fQecHTkvMa1GQHicaezk8oylWvalTA/640?wx_fmt=jpeg)

## **四、基于单个特征的分析**

### 4.1 租房方式-way

首先对整个**租房方式**进行了处理和可视化展示，从下面的饼图中直接看出来：**接近100%的房东选择整租的方式**。

结论1：房东更愿意整租

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SUyAB1mL5Oyjc7JFOERhFpvo4ibJq6ZWjK5rSvyArsXYS8Guib5GyFLTg/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Sibb47Jn1dX0x9Kfrzl419QcUVv3NKibFryw9ZeEdpiaibZmc2qK0iagPbRA/640?wx_fmt=jpeg)

### 4.2 区域-zone

第二，我们对比每个区的房源情况，从下面的饼图中，可以得到以下 结论2：

1. 福田区作为深圳的CBD，平安大厦所在地，房源是最多的
2. 龙华和龙岗两个区是老的工业区，房源也非常多，听说价格也相对便宜
3. 南山区作为互联网科技中心，房源紧随其后，价格相对就较高
4. 坪山、盐田、光明这3个去相对落后，房源相对少些

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SLib63vJDib6c8KF7ibIcvlaNUibnrHWf0vFn7IV3hdsZK08VdLIV6xJeGA/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6S6LA6nPVRg7hB1NzbR5glbK2e5x27K6cZ8vscf46pSOKBBxCKqc6ndw/640?wx_fmt=jpeg)

### 4.3 装修方式-zhuangxiu

接下来对各种装修方式的房源进行对比分析。其中颜色表示的是各个区的房源数量，数量越多越接近蓝色

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Sc6gzbjkAZNJFAaZ2w81SmPzT3TLnsN22qDWofnZzuIrPszvvvx6rLA/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SQH6VXickU0fVy4IiadNRdicl9S53MPwOPuiaOMmibfNVgwGHmQ5IUMGq8Dg/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Syj8z7AQGvrI5rUfRicKhbGLE1SCc2IxWjhLz72EDjjHgWGHx5Rmp71w/640?wx_fmt=jpeg)

很明显：房子的装修风格还是在**精装**和**普装**上

### 4.4 房子方位-location

接下来我们统计房源中每个房子的朝向，找出哪些朝向的房子更受欢迎。

通过饼图我们可以得到如下结论。

> “
>
> 结论3：**朝南、朝南北、朝北**3种方位的朝向显然更受欢迎。
>
> ”

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SWoeyWfXwPZePsVYZgk1ro1GRtVfFqibaTTW4MVIGticCSj5XsnjJduHg/640?wx_fmt=jpeg)

### 4.5 居室个数-room

在房东提供的房源中，每个房子的房间数量不尽相同，分析统计每个房子的房间数量。

很明显的结论4：

> “
>
> 房子中房间数量为3，2，1的房子是非常多的
>
> ”

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SPG1Y9q1FcjB6HkhSMxJXc7KLf5NqAJdoKGBPZEzSkhWCCLrPT81jibQ/640?wx_fmt=jpeg)

## **五、行政区对房价的影响**

接下来我们通过人力图来分析不同的行政区对房价的影响。通过热力图得到如下的结论5：

1. 南山区作为互联网科技中心，福田区作为CBD中心，房价偏高
2. 光明、坪山、盐田3个区相对落后，房价偏低

以上两个结论和实际情况也是符合的

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SeKWTkIEGL7FHiaYmHTPWAGwt2v6chP4QukfHk5DKUv2fjm8N6jbJxYg/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SP2AQw9E5Q4xyw8KDbJ0xjJaYxZTnllcicAdX0xSVMq5ibp3p8uTiav01w/640?wx_fmt=jpeg)

## **六、房价与时间关系**

在不同年份建成的房子，价格肯定是不同的，也造成了房子的出租价格不同。本节中分析房子的老旧（建成时间）对房租的影响

### 6.1 关内和关外

在很多年之前，深圳的行政区从区的城市建设风貌、市政管理、繁华程度等分为有关内和关外的说法

- 关内：福田、南山、罗湖、盐田
- 关外：宝安、龙岗、龙华、光明新区、坪山、大鹏

**这种叫法目前是不存在了，但是每个区的经济实力不尽相同是不争的事实**。

### 6.2 关内

通过观察关内的数据分布，可以看到：

- 南山和福田两个区的价格是明显高于盐田和罗湖的
- 南山的平均价格在2w左右
- 盐田区的整体价格偏低
- 罗湖区的价格较稳定，波动很小

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6S5Sib1EMWypGCDU87HcA7BRfhb5KCW75FyrAo7ruia6CTsrIUOA1cmkUg/640?wx_fmt=jpeg)image-20200703201131031

### 6.3 关外

- 关外的价格明显是低于关内的
- 龙岗和宝安会偶尔出现高价的房源
- 光明和坪山的价格整体偏低

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SHyPeiaMvHOQicg1xQf2ROEnwlWEFNGnN4icRAHWcDpIa7z0Hfqlh9rO4Q/640?wx_fmt=jpeg)

## **七、多特征的可视化**

在这里以**南山区**进行分析，具体过程为：

1. 得到我们绘图的数据
2. 做出散点图和其他多特征的图形

### 7.1 作图数据

先处理绘图需要的数据

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Shsud50YQQnnNtkYBkkatcLj8soicmXbWcbmok2k3ic4Wf846ibps4z5XQ/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SFUITzAicJS7Wb8Vyk2RQMNwYgn0dfCeSYibFO2ibK811rhMKTEqYictCJA/640?wx_fmt=jpeg)

### 7.2 多特征-多图

为了分析某个区中房源分布、价格分布、楼层数等多因素对房租价格的影响，我们选择了南山区进行分析：

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6SvFButWGG2vo52nCibuarX1MZxVdAeMWKytd6YtiaVGIp2Xd2dHBBHQyg/640?wx_fmt=jpeg)

![img](https://mmbiz.qpic.cn/mmbiz_jpg/vI9nYe94fsFRXXrtVw5SUtVbWmRJpib6Sdb7Htm3byTz88p1vLm9nWkmDF6oU1dvWVWr2cDfKrtrytibaWib86B6g/640?wx_fmt=jpeg)

得到如下几点结论：

1. 南山区的后海和南油、蛇口是南山区的租房热门地点
2. 南山区的房子个数中2个最多，3个和1个其次
3. 价格在10k左右的房源数量是最多的