当前位置:   article > 正文

南宁二手房分析与研究报告毕业设计_制作南宁市二手住房价格分布图,利用kriging插值方法对二手住房价格进行空间插

制作南宁市二手住房价格分布图,利用kriging插值方法对二手住房价格进行空间插

一.项目背景

当今社会,随着社会的发展,房价问题已成了一个普遍的问题,而房地产市场的供给和需求的高度层次性和差别性由于人口、环境、文化、教育、经济等因素的影响,房地产市场在各个区域间的需求情况各不相同,从而造就了房价高低不同,房价问题已成了一个普遍的问题,而房地产市场的供给和需求的高度层次性和差别性由于人口、环境、文化、教育、经济等因素的影响,房地产市场在各个区域间的需求情况各不相同,从而造就了房价。随着国家经济的高速发展,房价问题已经成为经济发展中的突出问题,同时也是民众最关心的民生问题.近年来,中国各地房价都在大幅上涨。如今南宁房价居高不跌,使打工人望尘莫及,因此,想对南宁房价加以分析与研究,找出低房价区域。

二.项目任务

此次项目任务是针对想在南宁买房自住或者房地产投资的客户,对南宁房价进行分析,分析的开始则是在网上爬取数据,并对数据进行可视化分析。当中所需要的技术是python的scrapy爬虫框架,以及matplotlib、pyecharts包。爬取数据后,对南宁二手房进行分析,让买方清楚南宁二手房状况,理解价格,尝试找出南宁房价规律,对选择二手房能防止被骗。也可以使卖方清楚自己房子的定位价格,并对数据建立预测模型,根据假想条件,预测出房价。
  • 1

在这里插入图片描述

三.数据分析

1 数据爬取

此次获取数据采用的是scrapy爬虫框架,爬取的网址是链家网,地址选择的是南宁市。我爬出了6570条数据,链家的爬虫机制是爬取的条数是有限的,而我采取的反反爬虫对策是根据南宁市的每个区域分别爬取,这样就可以对全站爬出数据,不再受到限制。代码如下:

import scrapy
from ..items import LianjiaItem

class LjSpider(scrapy.Spider):
    name = 'lj'
    allowed_domains = ['lianjia.com']   #域名范围!!!
    start_urls = ['http://nn.lianjia.com/ershoufang/']
    start_urls = []

    locations = ['xixiangtangqu', 'qingxiuqu', 'jiangnanqu', 'xingningqu','liangqingqu','yongningqu'] # 城区

    for loc in locations:
        for page in range(1, 40):
            url = "http://nn.lianjia.com/ershoufang/{}/pg{}/".format(loc, page)

            start_urls.append(url)
    def parse(self,response):
        urls = response.xpath('//div[@class="info clear"]/div[@class="title"]/a/@href').extract()  #获取每个二手房连接
        for url in urls:  #逐条遍历出来
            print(url)
            yield scrapy.Request(url,callback=self.parse_lj)
       
    def parse_lj(self,response):
        item = LianjiaItem()
        try:
            item['ttprice'] = response.xpath('concat(.//span[@class="total"]/text(),.//span[@class="unit"]/span/text())').getall()  #房子价格
        except:
            item['ttprice']=""
            
        try:
            item['price'] =response.xpath('.//span[@class="unitPriceValue"]/text()').getall()  #元/平米
        except:
            item['price']=""
            
        try:
            item['place'] = response.xpath('.//div[@class="areaName"]//span/a[1]/text()').getall()  #所在区域
        except:
            item['place']=""
            
        try:
            item['street'] = response.xpath('/html/body/div[5]/div[2]/div[4]/div[2]/span[2]/a[2]/text()').getall()  #所在街道
        except:
            item['street']=""
            
        base1 = response.xpath('//div[@class="base"]//ul')  
        ift=response.xpath('//div[@class="baseattribute clear"]/div[@class="name"]//text()').getall()
        
        
        try:
            item['huxing'] = base1.xpath('./li[1]/text()').getall()   #房屋户型
        except:
            item['huxing']=""
            
        try:
            item['floor'] = base1.xpath('./li[2]/text()').getall()   #所在楼层
        except:
            item['floor']=""
            
        try:
            item['area'] = base1.xpath('./li[3]/text()').getall()   #建筑面积
        except:
            item['area']=""
            
        try:
            item['jiegou'] = base1.xpath('./li[4]/text()').getall()    #户型结构
        except:
            item['jiegou']=""
            
        try:
            item['btype'] = base1.xpath('./li[6]/text()').getall()   #建筑类型
        except:
            item['btype']=""
            
        try:
            item['chaoxiang'] = base1.xpath('./li[7]/text()').getall()   #房屋朝向
        except:
            item['chaoxiang']=""
            
        try:
            item['build'] = base1.xpath('./li[9]/text()').getall()  #装修情况
        except:
            item['build']=""
            
        try:
            item['tihu'] = base1.xpath('./li[10]/text()').getall()   #梯户比例
        except:
            item['tihu']=""
        
        try:
            item['lift'] = base1.xpath('./li[11]/text()').getall()   #配套电梯
        except:
            item['lift'] =""
            
        try:
            item['sub'] = ift[3]  #交通便利
        except:
            item['sub'] = ""
        
        try:
            item['diya'] = base1.xpath('//*[@id="introduction"]/div/div/div[2]/div[2]/ul/li[7]/span[2]/text()').getall()   #是否抵押
        except:
            item['diya'] =""
        
        try:
            item['name'] = base1.xpath('/html/body/div[5]/div[2]/div[4]/div[1]/a[1]/text()').getall()   #小区名称
        except:
            item['name'] =""
        
        try:
            item['time'] = base1.xpath('//*[@id="introduction"]/div/div/div[2]/div[2]/ul/li[1]/span[2]/text()').getall()   #挂牌时间
        except:
            item['time'] =""
        
        try:
            item['quanshu'] = base1.xpath('//*[@id="introduction"]/div/div/div[2]/div[2]/ul/li[6]/span[2]/text()').getall()   #产权权属
        except:
            item['quanshu'] =""
            
        try:
            item['yongtu'] = base1.xpath('//*[@id="introduction"]/div/div/div[2]/div[2]/ul/li[4]/span[2]/text()').getall()   #房屋用途
        except:
            item['yongtu'] =""
        
        yield item
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124

得出的数据字段:
在这里插入图片描述

2 数据清洗与处理

得到数据后,对空值的剔除,修改格式,对价格单位的剔除方便后面分析
处理数据前:
在这里插入图片描述
获取数据后,使用pandas库,经过去重,排除空值,拆分
处理数据后:
在这里插入图片描述

图2-2
我把房间数目厅数都单独做出一列,楼层也是如此,其中‘rn’代表房间数,‘hall’代表厅数,’washroom’代表卫生间数,‘floor_1’代表楼层,‘floor’代表楼楼高。

3 数据分析:

3.1 描述性分析 10

3.1.1 查看 均值、中位数、标准差、四分位数: 10

在这里插入图片描述

3.1.2 查看房价的 最大值 和 最小值 10

在这里插入图片描述

3.1.3 连续变量 看 最小、最大值、平均数、中位数、标准差 11

在这里插入图片描述

3.2 探索性分析 11

3.2.1 单位面积房价频数图 11
3.2.2 二手房区域饼图 12
3.2.3 各地平均房价 12
3.2.4 不同楼层数目占比与价格 13
3.2.5 房间数与单位面积价格箱图 14
3.2.6 不同厅数单位面积房价箱图 15
3.2.7 交通便利与否数列与价格 15
3.2.8 不同建筑结构的平均价格 16
3.2.9 不同装修平均价格 17
3.2.10 不同朝向平均价格 17

3.3 数据建模

四.总结:

1.在完成项目过程中,全程由python实现,这也使我的代码能力有所提高,对数据处理能力更加了,scrapy的爬虫框架理解得更加深刻。
2.不足:是对数据理解层面不够,未能做到更清晰的分析,在之后会翻阅更多的资料来完善自己。
3.数据选取字段不充足,未能加上经纬度,由于2020年土地划分等级网上未能找出,所以未能加上地段等级,虽有2010年的地段划分,可是得出拟合结果一般,所以我为选择加上。
4.在南宁,平均房价都保持在一万出头价格,而且在良庆区和青秀区价格会更贵,在售的二手房也多。房间的厅数也会影响房子的平均价格,相反房间数存在影响不及厅数的大。
5.在买房过程中,如果我们有二次出售的想法,应参照上图选择房子所在地,建筑结构。建筑结构选择钢混结构会更好。在选择房源投资的话应注意
6.尽量选择青秀区和良庆区之间,因为房价高与在售房多透露出南宁未来的发展趋势所在地,对将来的房价升涨与否存在影响。

完整文档请移步

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/109439
推荐阅读
相关标签
  

闽ICP备14008679号