我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解Python对某地区二手房房价数据分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解Python对某地区二手房房价数据分析

房价数据分析

数据简单清洗

data.csv

数据显示


# 导入模块
import pandas as pd  # 导入数据统计模块
import matplotlib  # 导入图表模块
import matplotlib.pyplot as plt  # 导入绘图模块
# 避免中文乱码
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为SimHei显示中文
matplotlib.rcParams['axes.unicode_minus'] = False  # 设置正常显示字符,使用rc配置文件来自定义
# 简单清洗
data = pd.read_csv('data.csv')  # 读取csv数据
del data['Unnamed: 0']  # 将索引列删除
data.dropna(axis=0, how='any', inplace=True)  # 删除data数据中的所有空值
data['单价'] = data['单价'].map(lambda d: d.replace('元/平米', ''))  # 将单价“元/平米”去掉
data['单价'] = data['单价'].astype(float)  # 将房子单价转换为浮点类型,float(data['',单价])
data['总价'] = data['总价'].map(lambda d: d.replace('万', ''))  # 将总价“万”去掉
data['总价'] = data['总价'].astype(float)  # 将房子总价转换为浮点类型,float(data['',单价])
data['建筑面积'] = data['建筑面积'].map(lambda p: p.replace('平米', ''))  # 将建筑面积“平米去掉”
data['建筑面积'] = data['建筑面积'].astype(float)  # 将将建筑面积转换为浮点类型

各区均价分析


# 获取各区二手房均价分析,根据需求,,进一步处理数据,如果要写相应算法,需要根据算法所需求的数据处理
def get_average_price():
    group = data.groupby('区域')  # 将房子区域分组
    average_price_group = group['单价'].mean()  # 计算每个区域的均价,average_price_group字典
    x = average_price_group.index  # 区域
    y = average_price_group.values.astype(int)  # 区域对应的均价a =['t':'123'] a.keys()
    return x, y  # 返回区域与对应的均价,region二关 average_price均价

# 显示均价条形图
def average_price_bar(x, y, title):
    plt.figure()  # 图形画布
    plt.bar(x, y, alpha=0.8)  # 绘制条形图
    plt.xlabel("区域")  # 区域文字
    plt.ylabel("均价")  # 均价文字
    plt.title(title)  # 表标题文字
    # 为每一个图形加数值标签
    for x, y in enumerate(y):
        plt.text(x, y + 100, y, ha='center')
    plt.show()

if __name__ == '__main__':
    x, y = get_average_price()
    title = '各区均价分析'
    average_price_bar(x, y, title)

运行如图

全市二手房装修程度分析


# 获取各区二手房均价分析,根据需求,,进一步处理数据,如果要写相应算法,需要根据算法所需求的数据处理
def get_decorate_sum():
    group = data.groupby('装修')  # 将房子区域分组
    # decorate_sum_group = group['装修'].count()  # 计算每个区域的均价,average_price_group字典
    decorate_sum_group = group.size()  # 计算每个区域的均价,average_price_group字典
    x = decorate_sum_group.index  # 区域
    y = decorate_sum_group.values.astype(int)  # 区域对应的均价a =['t':'123'] a.keys()
    return x, y  # 返回区域与对应的均价,region二关 average_price均价

# 显示均价条形图
def average_price_bar(x, y, title):
    plt.figure()  # 图形画布
    plt.bar(x, y, alpha=0.8)  # 绘制条形图
    plt.xlabel("装修类型")  # 区域文字
    plt.ylabel("数量")  # 均价文字
    plt.title(title)  # 表标题文字
    # 为每一个图形加数值标签
    for x, y in enumerate(y):
        plt.text(x, y + 100, y, ha='center')
    plt.show()

if __name__ == '__main__':
    x, y = get_decorate_sum()
    title = '全市二手房装修程度分析'
    average_price_bar(x, y, title)

各区二手房数量所占比比例


# 获取各区二手房各区比例数量,进一步处理数据,如果要写相应算法,需要根据算法所需求的数据处理
def get_proportional_quantity():
    area = data['区域'].groupby(data['区域']).count()  # 将房子区域分组比例数量
    areaName = (area).index.values  # 将房子区域分组比例取名
    return area, areaName

# 显示均价条形图
def proportional_quantity_pie(area, areaName, title):
    plt.figure()  # 图形画布
    plt.pie(area, labels=areaName, labeldistance=1.1, autopct='%.1f%%',
            shadow=True, startangle=90, pctdistance=0.7)
    plt.title(title, fontsize=24)  # 表标题文字
    plt.legend(bbox_to_anchor=(-0.1, 1))  # 作者标题
    plt.show()

if __name__ == '__main__':
    # 对应x,y
    area, areaName = get_proportional_quantity()
    title = '各区二手房数量所占比比例'
    proportional_quantity_pie(area, areaName, title)

热门户型均价分析


# 获取各区热门户型分析,根据需求,,进一步处理数据,如果要写相应算法,需要根据算法所需求的数据处理
def get_hot_portal():
    # 另外一种方法获取并取值
    """
    group = data.groupby('户型').size  # 将房子区域分组
    sort_data = group.sort_values(ascending=False)  # 将户型分组数量进行降序
    five_data = sort_data.head()  # 提取前5组户型数据
    house_type_mean = data.groupby('户型')['单价'].mean().astype(int)  # 计算每个户型的均价
    x = house_type_mean[five_data.index].index  # 户型
    y = house_type_mean[five_data.index].value  # 户型对应的均价
    """
    group = data.groupby('户型')  # 将房子区域分组
    a = group['户型'].count().sort_values(ascending=False).head()  # 计算每个户型的均价 字典
    b = group['单价'].mean()[a.index]  # 区域对应的均价a =['t':'123'] a.keys()
    x = b.index
    y = b.values.astype(int)
    return x, y  # 返回区域与对应的均价,region二关 average_price均价

# 显示均价横条形图
def hot_portal_barh(x, y, title):
    plt.figure()  # 图形画布
    plt.barh(x, y, alpha=0.9, color='red')  # 绘制条形图
    plt.xlabel("均价")  # 区域文字
    plt.ylabel("户型")  # 均价文字
    plt.title(title)  # 表标题文字
    plt.xlim(0, 15000)  # X轴的大小
    # 为每一个图形加数值标签
    for y, x in enumerate(y):
        plt.text(x + 100, y, str(x) + '元', ha='left')
    plt.show()

if __name__ == '__main__':
    x, y = get_hot_portal()
    title = '热门户型均价分析'
    hot_portal_barh(x, y, title)

前面三个图较简单,最后相对于前面三个较为麻烦

先获取得到热门户型前五名,通过户型得到对应的户型的平均值

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解Python对某地区二手房房价数据分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python如何实现对某地区二手房房价进行数据分析

这篇文章主要介绍了Python如何实现对某地区二手房房价进行数据分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。房价数据分析数据简单清洗data.csv数据显示# 导入模块
2023-06-21

如何让用Python对2019年二手房价格进行数据分析

这期内容当中小编将会给大家带来有关如何让用Python对2019年二手房价格进行数据分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。利用爬到数据的进行数据分析。在文章中,用到pandas、seaborn
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录