【项目实战】北京二手房房价分析与预测

项目简介
本项目根据个人需求进行北京二手房信息的数据分析,通过数据分析观察住房特征规律,利用机器学习模型进行简单的预测。

数据源
通过爬虫爬取第三方房屋中间商网站(链家和安居客)获取数据源,仅供学习使用。

目的
北京房价是最受关注的话题。因此,本项目以研究北京二手房房价为目的,对二手房房价进行数据分析。

统计北京各区域二手房房价情况
统计北京各区域二手房数量
统计西城区、东城区和海淀区各地方二手房房价
统计房价与房屋面积区段的房屋数量

技术和工具
本项目以Python语言编程完成数据分析。

数据分析:pandas,numpy,matplolib

1、 数据导入和清洗

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt# 导入链家二手房数据 
lianjia_df = pd.read_csv('./lianjia.csv') 
print(lianjia_df.head())
print('\n')# 删除没用的列 ['Id', 'Direction', 'Elevator', 'Renovation'],为了与安居客数据合并
drop = ['Id', 'Direction', 'Elevator', 'Renovation']
lianjia_df_clean = lianjia_df.drop(drop, axis=1)# 重新摆放列位置 ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Price']
columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Price']
lianjia_df_clean = pd.DataFrame(lianjia_df_clean, columns=columns)
print(lianjia_df_clean.head())
print('\n')# 计算Region列数据的总量
lianjia_total_num = lianjia_df_clean['Region'].count()
print(lianjia_total_num)

运行结果:
在这里插入图片描述

# 导入安居客二手房数据
anjuke_df = pd.read_csv('./anjuke.csv')
print(anjuke_df.head())
print('\n')# 正则表达式
anjuke_df['District'] = anjuke_df['Region'].str.extract(r'.+?-(.+?)-.+?', expand= False)
anjuke_df['Region'] = anjuke_df['Region'].str.extract(r'(.+?)-.+?-.+?', expand= False)
print(anjuke_df.head())
print('\n')#清洗数据,重新摆放列位置
columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Price']
anjuke_df = pd.DataFrame(anjuke_df, columns=columns)
print(anjuke_df.head())
print('\n')#计算Region列数据的总量
anjuke_total_num = anjuke_df['Region'].count()
print(anjuke_total_num)

运行结果:
在这里插入图片描述

# 数据集合并:将链家数据集与安居客数据集合并
df = pd.merge(lianjia_df_clean, anjuke_df, how='outer')
print(df)
print('\n')# 增加一列:每平方的价格
df['PriceMs'] = df['Price'] / df['Size']
print(df)
print('\n')# 对汇总数据再次清洗 (Null, 重复)
df.dropna(how='any')
df.drop_duplicates(keep='first', inplace=True)# 一些别墅的房屋单价有异常,删选价格大于25万一平的
df = df.loc[df['PriceMs']<25]   # 保留25万以下的数据total_num = anjuke_total_num + lianjia_total_num
df_num = df['Region'].count()
drop_num = total_num - df_numprint(total_num)
print(df_num)
print(drop_num)

运行结果:
在这里插入图片描述
在这里插入图片描述

2.数据可视化分析

北京各区域二手房房价均值对比 & 二手房数量对比

# 统计北京各区域二手房房价数量
df_house_count = df.groupby('Region')['Price'].count().sort_values(ascending=False)
print(df_house_count)print('\n')# 统计北京各区域二手每平方米房房价
df_house_mean = df.groupby('Region')['PriceMs'].mean().sort_values(ascending=False)
print(df_house_count)

运行结果:
在这里插入图片描述
在这里插入图片描述
方案一:

plt.figure(figsize=(20,10))
plt.rc('font', family='SimHei', size=13) 
plt.style.use('ggplot')plt.subplot(211)
plt.title('各区域二手房平均价格的对比', fontsize = 20)
plt.ylabel('二手房平均价格 (万/平方米)', fontsize = 15)
bar1 = plt.bar(np.arange(len(df_house_mean.index)),  df_house_mean.values, color='c')
plt.show()

运行结果:
在这里插入图片描述
由方案一可以看出,x轴上不是索引值,需要对其进行进一步的改进。

方案二:
在方案一的基础上改进。
先对方案一中得到得bar1进行循环便利打印:

for i in bar1:print(i)

运行结果:
在这里插入图片描述
然后根据打印结果编写一个函数,将索引值添加到横轴:

def auto_x(bar, x_index):x = []for i in bar: x.append(i.get_x() + i.get_width()/2)x = tuple(x)plt.xticks(x, x_index)

调用函数:

auto_x(bar1, df_house_mean.index)

对方案一改进得最终结果:

def auto_x(bar, x_index):x = []for i in bar: x.append(i.get_x() + i.get_width()/2)x = tuple(x)plt.xticks(x, x_index)plt.figure(figsize=(20,10))
plt.rc('font', family='SimHei', size=13) 
plt.style.use('ggplot')plt.subplot(211)
plt.title('各区域二手房平均价格的对比', fontsize = 20)
plt.ylabel('二手房平均价格 (万/平方米)', fontsize = 15)
bar1 = plt.bar(np.arange(len(df_house_mean.index)),  df_house_mean.values, color='c')auto_x(bar1, df_house_mean.index)plt.show()

运行结果:
在这里插入图片描述
方案三:
方案二不是最优做法,方案三更为简洁。

# 各区域二手房平均价格对比 # plt.rc('font', family='SimHei', size=13) plt.style.use('ggplot')
plt.figure(figsize=(20,10))
plt.rc('font', family='SimHei', size=13) 
plt.style.use('ggplot')plt.subplot(211)
plt.title('各区域二手房平均价格的对比', fontsize = 20)
plt.ylabel('二手房平均价格 (万/平方米)', fontsize = 15)
bar1 = plt.bar(df_house_mean.index,  df_house_mean.values, color='c')plt.show()# 各区域二手房数量对比
plt.figure(figsize=(20,10))
plt.subplot(212)
plt.title('各区域二手房平均数量的对比', fontsize = 20)
plt.ylabel('二手房数量', fontsize = 15)
bar1 = plt.bar(df_house_count.index,  df_house_count.values, color='c')plt.show()

运行结果:
在这里插入图片描述

3、饼图可视化

# 各区域二手房数量百分比
plt.figure(figsize=(6,6))
plt.title('各区域二手房数量的百分比', fontsize=20)
ex = [0]*len(df_house_count)
ex[0] = 0.1
print(ex)
plt.pie(df_house_count, radius=1, autopct='%1.f%%', labels = df_house_count.index, explode=ex )plt.show()# 各区域二手房每平方米房价
plt.figure(figsize=(6,6))
plt.title('各区域二手房每平方米房价的百分比', fontsize=20)
ex = [0]*len(df_house_mean)
ex[0] = 0.1
print(ex)
plt.pie(df_house_mean, radius=1, autopct='%1.f%%', labels = df_house_count.index, explode=ex )plt.show()

运行结果:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15830.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

房屋价格预测相关公开数据集

House pricing 房屋价格预测 背景描述 使用高级回归技术查看预测的房屋销售价格 数据说明 包含交易ID和交易价格 数据展示 ​数据下载 DataCastle-数据科学创新与实践平台 房屋价格 数据说明 两个文件测试集和训练集&#xff0c;包含房屋容纳人数、洗手间数量、卧室数量、…

Python数据分析之房价预测

学习数据分析的第一次练手项目。从网上爬取关于房价的相关数据属性来分析房价&#xff0c;并且基于一些属性来预测房价&#xff0c;使用的是网格搜索算法。相关的数据文件和完整代码可以从文末获取。 GridSearchCV介绍&#xff1a; 能够系统地遍历多种参数组合&#xff0c;通过…

台北房价预测

目录 1.数据理解1.1分析数据集的基本结构&#xff0c;查询并输出数据的前 10 行和 后 10 行1.2识别并输出所有变量 2.数据清洗2.1输出所有变量折线图2.2缺失值处理2.3异常值处理 3.数据分析3.1寻找相关性3.2划分数据集 4.数据整理4.1数据标准化 5.回归预测分析5.1线性回归&…

某地房价预测

房价预测 任务目标&#xff1a;预测未来的房价 处理步骤 导入数据集&#xff0c;进行数据质量分析与数据清洗&#xff1b;数据特征分析&#xff08;分布分析、统计量分析、相关性分析&#xff09;&#xff1b;特征工程&#xff08;特征降维、特征选择&#xff09;&#xff1…

房价预测数据集 (KAGGLE)

文章目录 引入1 库引入2 数据处理完整代码 引入 KAGGLE房价预测数据集分为训练集和测试集。两个数据集都包括每栋房子的特征&#xff0c;如街道类型、建造年份、房价类型等特征。特征值有连续的数字、离散的标签、缺失值 (na)等。   训练集与测试集的区别在于&#xff1a;只有…

案例:房价预测模型

案例目标&#xff1a;根据房子特征&#xff0c;预测某房房价&#xff0c;选出最优模型。 主要步骤&#xff1a; 1. 数据清洗。数据分类&#xff0c;缺失值和异常值处理。 2. 特征分析。统计量分析和相关性分析。 3. 特征工程。特征选择和特征融合。 4. 模型构建。特征标准…

房价预测模型

目录 1.模型目标 预测某一区域的房价中位数 2.选择框架 有监督学习任务&#xff1a;训练集中的每个实例都有标签(该区域的房价中位数)回归任务&#xff1a;因为你要对某个值进行预测。更具体地说&#xff0c;这是一个多重回归问题&#xff0c;因为系统要使用多个特征进行预…

房屋价格预测

机器学习——房屋价格预测 点击链接查看文档代码 一&#xff0e;项目概述及计划 项目背景 &#xff1a;影响房屋价格的因素众多&#xff0c;如房屋面积、房屋层数、配套设施等等。 项目要求 &#xff1a;利用竞赛提供的数据&#xff0c;通过分析影响房屋价格的诸多因素来对房…

数据分析项目——深圳二手房价分析及价格预测

目录 一、需求说明 1.1基本任务 1.2 任务目的 1.3测试数据 二、概要设计说明 三、详细设计 3.1 数据检测模块 3.2 因变量分析模块 3.3 自变量分析模块 3.4 可视化模块 3.5 建立预测模型模块 3.6预测模块 一、需求说明 深圳二手房数据分析及价格预测的总体目标&#xff1a…

波士顿房价预测(终版讲解)

代码段分四个部分&#xff1a;库的引入、加载数据&#xff08;函数&#xff09;、配置网络结构&#xff08;类&#xff09;、运行部分&#xff08;获取数据&#xff0c;创建网络&#xff0c;启动训练&#xff0c;作图&#xff09; 我的是基础版&#xff0c;库只用到了numpy和ma…

基于大数据的房价数据可视化分析预测系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目背景 房地产是促进我国经济持续增长的基础性、主导性产业&#xff0c;二手房市场是我国房地产市场不可或缺的组成部分。由于二手房的特殊性&#xff0c;目前市场上实时监测二手房市场房价涨幅的…

Kaggle房价预测详解

Kaggle房价预测详解 1.导入数据2.查看各项主要特征与房屋售价的关系查看中央空调与售价关系查看装修水平与房价关系查看建造日期与售价关系不同地段与房价关系查看地皮面积与房价关系查看地下室总面积与房价关系查看关联性 3.训练集数据预处理训练数据预处理创建机器学习模型得…

数据集:波士顿地区房价预测

数据集&#xff1a;波士顿地区房价预测 数据集下载地址 本文以线性回归模型预测为主 1. 数据集说明 变量名变量描述CRIM城镇人均犯罪率ZN住宅地超过25000平方英尺的比例INDUS城镇非零售商用土地的比例CHAS查理斯河空变量&#xff08;如果边界是河流&#xff0c;则为1&#x…

AI for Science的上半场:人工智能如何重新定义科学研究新范式?

AI发展七十余年&#xff0c;每一技术性突破都将给人类未来开辟新一种可能性。而它与科学研究的深度融合&#xff0c;则会裂变出无数或无穷种可能性。 来源 :36氪 万众瞩目下&#xff0c;今年10月&#xff0c;有着诺贝尔奖“嫡传”之称的诺贝尔化学奖终于揭晓&#xff0c;授予了…

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用 1. NVIDIA医疗领域AI计算平台——NVIDIA CLARA2. NVIDIA CLARA医学影像子平台——MONAI3. NVIDIA CLARA医疗设备子平台——Holoscan4. NVIDIA基因组学解决方案Parabricks5. NVIDIA药物研发解决方案6. 个人思…

GTC 2023 万字纪要 | Don‘t Miss This Defining Moment in AI

「Don’t Miss This Defining Moment in AI」 「切勿错过 AI 的决定性时刻」 北京时间 2023 年 3 月 21 日 23:00&#xff0c;「皮衣刀客」黄教主在 GTC 2023 发表主题如上的 Keynote 演讲&#xff0c;并称「这将是我们迄今为止最重要的一次 GTC」&#xff0c;NVIDIA官方 Twi…

「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 随着科技的不断进步&#xff0c;我们现在拥有了许多前所未有的工具和技术&#xff0c;可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展&#xff0c;也为医学研究带来了全新的机遇。例如&#…

明天10:00「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 随着科技的不断进步&#xff0c;我们现在拥有了许多前所未有的工具和技术&#xff0c;可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展&#xff0c;也为医学研究带来了全新的机遇。例如&#…

Nat. Biotechnol. | 生成式AI在生物科学领域发展迅速

在过去的一年中&#xff0c;人工智能迎来了突破性的技术&#xff0c;它们来自OpenAI的DALL-E2和ChatGPT。 Link: https://openai.com/dall-e-2 Link: https://openai.com/blog/chatgpt 或许你在网络上已经或多或少了解了一些&#xff0c;甚至已经在无意中使用过了这些技术所带来…

OpenAI新模型惊艳了!对话问答能力逆天

编&#xff5c;昕朋 Aeneas源&#xff5c;新智元 OpenAI新模型来了&#xff01;全新对话模型ChatGPT&#xff0c;可以回答用户问题&#xff0c;还能挑出问题的错误之处。面对不懂的问题&#xff0c;还会承认错误并拒绝回答&#xff01; 当人们翘首期待GPT-4时&#xff0c;OpenA…