哈尔滨建筑业协会网站,安卓网站建站系统下载,WordPress去掉文章摘要,商业网站策划方案数据展示是数据分析和挖掘中的重要环节#xff0c;通过图形的形式可以直观、清晰地呈现数据内在的规律。
本文所用数据采用上一篇案例实现后的数据表#xff0c;数据存储在newbj_lianJia.csv文件中#xff0c;具体代码如下。
import pandas as pd #导入库
import matplot…
数据展示是数据分析和挖掘中的重要环节通过图形的形式可以直观、清晰地呈现数据内在的规律。
本文所用数据采用上一篇案例实现后的数据表数据存储在newbj_lianJia.csv文件中具体代码如下。
import pandas as pd #导入库
import matplotlib.pyplot as plt
plt.rcParams[font.sans-serif][SimHei] # 调整字体设置
plt.rcParams axes.unicode minus False
dfpd.read csv(newbj lianJia.csv,encodinggbk) # 读取文件
本文主要任务是展示并分析每一属性的数据分布情况具体包括以下几个方面。
1 绘制各楼层平均租金分布的条形图。
2 绘制各城区房屋平均租金的折线图。
3 绘制平均租金前20名的街道房屋数量的柱状图及其平均租金分布折线图。
4 绘制房屋户型前10名的占比情况。
01、案例实现
1 绘制各楼层平均租金分布的条形图。代码如下。
# 按照楼层分组
gdf.groupby(floor)
# 计算各楼层的房屋数量
df floorg.count()[ID
floordf floor.index.tolist()
# 计算各楼层的平均租金
df floor rentg.mean() rent;
rentdf floor rent.values.tolist ()
rent round(x,2) for x in rent
# 绘制条形图
plt.barh(yfloor,widthrent)
plt.ylabel(楼层)
plt.xlabel(租金/元)
plt.title(各楼层平均租金条形图,fontpropertiesstkaiti,fontsize14)
plt.tight layout(pad2)
plt.show()
运行结果如图1所示。 ■图1 各楼层平均租金的条形图
可以看出对租金影响最大的依次是地下室、低楼层、中楼层、高楼层。
2 绘制各城区房屋平均租金的折线图。
代码如下。
# 按照城区进行分组统计租金的平均值
dfldf.groupby(district)[rent].mean()
# 获取城区名
regiondf1.index.tolist()
# 获取各城区的平均租金
rent_round(x,2) for x in dfl.values.tolist()
# 绘制各城区房屋租金折线图
plt.figure(figsize(126))
plt.plot(region,rent,cr,markero,linestyle--)
for x,y in zip(region,rent):
plt.text(x,Y, .0f y,hacenter,fontsize11)
# 设置坐标轴标签文本
plt.ylabel(租金/元,fontpropertiessimhei)
plt.xlabel(城区,fontpropertiessimhei)
#设置图形标题
plt.title(各城区房屋平均租金折线图,fontpropertiesstkaiti
fontsize14)
# 设置横坐标字体倾斜角度
plt.xticks(rotation15)# 显示图形
plt.show() 运行结果如图1所示。 ■图1 各城区房屋平均租金的折线图
可以看出城区对房租的影响很大平均租金最高的是朝阳区13976元最低的是密云区3480元。当然这与城区所在的地理位置有着直接的关系距离市中心越近租金越高距离市中心越远租金越低。
3 绘制平均租金前20名的街道房屋数量的柱状图及其平均租金分布折线图。
代码如下。
# 按照街道进行分组
gdf.groupby(street)
# 对街道按照平均租金进行升序排序并取前 20 名
df regiong.mean() rent
top_street rentdf region.sort values(axis0,ascendingFalse)[:20]
# 获取排名前 20 名的街道名称
regiontop street rent .index.tolist ()
# 统计各个街道出租房屋数量
count[g.count()[ID][s] for s in region]
# 获取排名前 20 名的街道的平均租金
rent round(x,2) for x in top street rent.values.tolist()#绘图
fig,axsplt.subplots(1,1,figsize(12,6))axs.bar(region,heightcount)
plt.ylabel(数量)
plt.xlabel(街道)
axs1axs.twinx()
axsl.plot(region,rent,cr,markero,linestyle--)for x,y in zip(region,count):
axs.text(x,y,.Of y, hacenter,fontsize12)
for x,y in zip(region,rent):axs1.text(x,y,.Of yhacenter,fontsize12)axs.set title(租金前 20 名的街道出租房屋数量及其租金分布图fontsize 14)
plt.ylabel(租金/元)
fig.autofmt xdate(rotation15)
plt.tight layout(pad1)
plt.show() 运行结果如图2所示。 ■图2 租金前20名的街道出租房屋数量及租金分布图
可以看出租金最贵的街道为官园、安定门、宣武门、西山、白石桥。除了租金最高的官园其余街道的租金相差不是很多所以街道属性与租金没有很强的相关性。
4 绘制房屋户型前10名的占比情况代码如下。
# 根据房屋户型分组
dfldf .groupby(model)
#计算房屋户型数量排序并取前 10 名
df modeldfl.count()[ID].sort values(axis0,ascendingFalse)[:10]
modeldf model.index.tolist ()
# 计算房屋数量
countdf model.values.tolist()#绘制房屋户型占比饼图
plt.pie(count,labelsmodel,autopct%1.2f%)# 设置图形标题
plt.title(房屋户型前 10 名的占比情况,fontpropertiesstkaitifontsize14)
plt.show() 运行结果如图3所示。 可以看出大部分房屋的户型为2室1厅1卫、1室1厅1卫、3室1厅1卫、3室2厅2卫。