关于二手房的Python数据分析 您所在的位置:网站首页 安居客上的二手房均价有参考价值吗 关于二手房的Python数据分析

关于二手房的Python数据分析

2023-09-03 04:18| 来源: 网络整理| 查看: 265

摘要

利用Python开发工具,从网站爬取某网站上的二手房数据,对数据源结合 Pandas、Numpy、Matplotlib、Sklearn 等技术进行分析,获得影响二手房买卖的具体因素。

1.引言

网络爬虫是可以自动抓取网页上各种类型数据的程序。网络爬虫使用网页的链接地址查找网页的内容,并直接返回用户所需的数据,而无需手动操纵浏览器来获取它。爬虫是搜索引擎中的重要组成部分,可在互联网上为搜索引擎抓取数据。通用搜索引擎(例如谷歌和百度)等逐渐成为人们访问互联网的入口。但是,由于它们的通用性限制,在抓取网页时没有针对性,因而也无法对其抓取的结果进行针对特定领域的进一步分析,导致查询结果不够深入和专业化;另外,一般的搜索引擎通常会返回一些与用户所寻找的主题无关的结果,从而造成信息过载。 本文提出的爬虫程序通过模拟登录二手房网站,获取相关数据,并将这些数据保存到本地,为进一步的数据挖掘和分析提供了方便。最后,本文使用Python可视化方法对数据进行简单的数据分析。

2.系统结构

2.1 Python Python的作者是荷兰人Guido von Rossum。1982年,Guido在阿姆斯特丹大学获得了数学和计算机科学的硕士学位。 与今天相比,在他那个时代,个人计算机的主频和RAM非常低,这导致计算机配置非常低。为了使程序在个人计算机上运行,所有编译器的核心都经过了优化,因为如果不进行优化,则较大的数组会填满内存。Guido希望编写一种新语言,该语言应该具有功能齐全,易于学习,易于使用并且可以扩展的功能。 1989年,Guido开始为Python语言编写编译器。 2.2 Pandas Pandas是用于Python的数据分析包。 它包含许多高级数据结构和操作工具,可以让人们使用Python进行数据分析更加轻松快捷。 2.3 Numpy Numpy是使用Python进行科学计算的基础包。它包括一个功能强大的N维数组对象Array。它具有成熟的函数库,例如矩阵数据类型和矢量处理等。 2.4 Matplotlib 数据可视化是数据分析的结果,可以更直观,更优雅地显示结果。Matplotlib库是Python数据可视化的重要类库之一。它包含大量的数据可视化资源,包括地图,3D等。 Matplotlib有四个部分: (1)Matplotlib的基本figure类型; (2)调整figure和样式以及颜色; (3)在图形上添加注释(包括坐标轴范围,长宽比或坐标轴等); (4)其他复杂图形。

3.具体实现

3.1 数据获取 为了对北京二手房买卖影响因素的具体分析,于是利用Python语言对某网站上的北京二手房数据进行网络爬虫获取,以表格形式展示:爬虫数据

3.2代码实现

import pandas as pd import numpy as np import seaborn as sns import matplotlib as mpl import matplotlib.pyplot as plt from IPython.display import display plt.style.use("fivethirtyeight") sns.set_style({ 'font.sans-serif':['simhei','Arial']}) # 导入链家二手房数据 lianjia_df = pd.read_csv('D:\lianjia.csv') display(lianjia_df.head(n=10)) # 检查缺失值情况 #lianjia_df.info() lianjia_df.describe() # 添加新特征房屋均价 df = lianjia_df.copy() df['PerPrice'] = lianjia_df['Price']/lianjia_df['Size'] # 重新摆放列位置 columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation', 'PerPrice', 'Price'] df = pd.DataFrame(df, columns = columns) # 重新审视数据集 display(df.head(n=10)) # 对二手房区域分组对比二手房数量和每平米房价 df_house_count = df.groupby('Region')['Price'].count().sort_values(ascending=False).to_frame().reset_index() df_house_mean = df.groupby


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有