一、设计要求
1. 数据读取和清洗模块:
需求描述:
- 系统应能够从Excel文件中读取数据,并对数据进行清洗,确保数据的准确性和一致性。
- 清洗包括但不限于去除列名中的空格、提取特定字段中的数字、转换数据类型等操作。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
2. 数据分析模块:
- 需求描述:
- 系统应能够对清洗后的数据进行分析,提取关键信息以支持决策。
- 分析内容包括但不限于计算平均值、求和、分类统计等。
3. 可视化分析模块:
- 需求描述:
- 系统应能够根据分析结果生成可视化图表,直观展示数据的分布、趋势和关联。
- 包括但不限于直方图、箱线图、柱状图、饼状图、折线图、散点图等多种类型的图表。
- 每个图表应具有清晰的标题、坐标轴标签、图例等元素,以及合适的颜色和尺寸。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
二、代码分析
- 数据读取和清洗:
- 使用Pandas库读取Excel文件,然后对数据进行清洗。
- 清洗包括去除列名中的空格、提取关注度中的数字、提取面积中的数字等。
- 确保提取的数据能够被正确解释并转换为适当的数据类型。
import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号 # 1. 读取数据 file_path = 'data.xlsx' data = pd.read_excel(file_path, engine='openpyxl')
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
2.数据分析:
- 使用Pandas的groupby功能计算各个区域的平均单价、地铁附近与否的平均单价、不同房型的数量等。
- 这些计算提供了对数据不同方面的整体了解,有助于后续的可视化和更深入的分析。
# 数据清洗 data.columns = data.columns.str.strip() data['面积'] = data['房屋信息'].str.extract('(\d+.\d+)平米').astype(float) # 数据展示 print("原始数据的前20条记录:") print(data.head(20)) # 计算不同房型的数量 room_types = data['房屋信息'].str.extract('(\d+室)').value_counts() # 计算各区的关注度总和 total_attention_by_district = data.groupby('区')['关注'].sum()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
3.可视化分析:
- 每个可视化分析块都是根据数据的特点选择合适的图表类型,以清晰、直观地展示数据的分布、关联和趋势。
- 单价直方图和各区单价箱线图展示了单价的分布情况和不同区域之间的差异。
- 柱状图展示了单价排名前15的小区,直观地比较了它们之间的单价情况。
- 饼状图展示了不同房型的数量占比。
- 折线图展示了面积最大的前10个小区的面积情况。
- 散点图展示了面积与单价之间的关系,有助于观察二者之间的相关性或规律。
数据分析
柱状图:单价前15名的小区:通过柱状图展示单价排名前15的小区,可以直观地比较这些小区的单价情况。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
饼状图:不同房型的数量:通过饼状图展示不同房型的数量占比,可以直观地了解各种房型的分布情况。
折线图:面积最大前10名的小区:通过折线图展示面积最大的前10个小区,可以比较这些小区的面积情况。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
散点图:面积与单价的关系:通过散点图展示面积与单价之间的关系,可以观察到二者之间是否存在一定的相关性或规律。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈
单价直方图:通过直方图展示单价数据的分布情况,可以观察到单价的整体分布情况和频数分布情况。
各区单价箱线图:通过箱线图展示各个区域内单价的分布情况,可以比较不同区域之间单价的差异和分布情况。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “小区住房” 获取。👈👈👈