接下来,我们需要对爬取下来的数据进行简要统计与分析,要求得出温州市区内租赁的最高价格、最低价格、平均价格和中位数价格,并画出价格分析图,并用直方图表示。
假如你在上一节中数据没有爬取成功,没有关系,先下载以下数据完成数据的统计与分析(跟实例数据可能有所差别)。
任务3:分析房产租赁数据。
| #!/usr/bin/Python # -*- coding: gbk -*- # 导入包 import pandas as pd from pylabimport mpl # 设置字体为SimHei,用于显示图中的中文 mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False # 读取本地数据,编码为gbk house = pd.read_csv('result.csv', encoding='gbk') house = house[(house.district.isin(['鹿城','龙湾','瓯海']))] price = house['price'] max_price = price.max() min_price = price.min() mean_price = price.mean() median_price = price.median() # 输出温州市租赁的最高价格、最低价格、平均价格和中位数价格 print(u"温州市区租赁最高价格:%.2f元/套" % max_price) print(u"温州市区租赁最低价格:%.2f元/套" % min_price) print(u"温州市区租赁平均价格:%.2f元/套" % mean_price) print(u"温州市区租赁中位数价格:%.2f元/套" % median_price) |
操作演示如下视频所示,可能每个人数据都不一样:
| mean_price_district = house.groupby('district')['price'].mean().sort_values(ascending=False) mean_price_district.plot(kind='bar',color='b') print(mean_price_district) # 设置y轴刻度范围 plt.ylim(1000,5000,500) plt.title("温州市各行政区划房产租赁平均价格分析") plt.xlabel("温州市行政区划") plt.ylabel("房产租赁平均价格(元/套)") plt.show() |

提前了解柱状图:
操作演示如下视频所示:
| import matplotlib.pyplotas plt # 绘制房价分布直方图 # 设置x轴,y轴刻度范围 plt.xlim(0,14000) plt.ylim(0,30) plt.title("温州市区房产租赁价格分析") plt.xlabel("租赁价格 (元/套)") plt.ylabel("租赁数量") plt.hist(price, bins=60) # 绘制垂直线 plt.vlines(mean_price, 0, 500, color='red', label='平均价格', linewidth=1.5, linestyle='--') plt.vlines(median_price, 0, 500, color='red',label='中位数价格', linewidth=1.5) # 显示图例 plt.legend() |

提前了解直方图:
操作演示如下视频所示: