介绍
本文讲解数据可视化
数据文件:
下载:
散点图-价格与面积
二手房价格与面积散点图,横轴为面积(平米),纵轴为价格(万元)。从图中可以看出,价格与面积符合正相关关系。
数据点分布比较集中,大多数都在价格 30-150 万元,面积 40-120 平米区域内。
代码
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
df=pd.read_csv(r'C:\Users\mym\Desktop\jz\58同城二手房数据-清洗.csv',encoding='gbk')
df.plot.scatter(x='mianji',y='jiage')
plt.xlabel('面积')
plt.ylabel('价格')
plt.show()
饼图-户型占比
户型饼状图,可以看出,2室1厅1卫 与 2室2厅1卫,一共占比接近90%。其他户型占比比较少。
代码
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
df=pd.read_csv(r'C:\Users\mym\Desktop\jz\58同城二手房数据-清洗.csv',encoding='gbk')
# 统计各个户型占比
res=df.groupby("geju")["biaoti"].count()
count=len(df)
print(count)
res=res/count*100
print(res)
#=======将百分比小于1的归类为其他
# 值小于1的行标签
mask_obs = res[res<1].index
print(mask_obs)
# 创建新的key:value对
mask_dict = dict.fromkeys(mask_obs, '其他户型')
print(mask_dict)
# 对标签改名
res = res.rename(mask_dict)
# 按照geju分组求和
res=res.groupby("geju").sum()
# print(res[res>1])
# 排序
res=res.sort_values()
print(res)
res.plot(kind = 'pie', # 选择图形类型
autopct='%.1f%%'# 饼图中添加数值标签
)
# plot方法对序列进行绘图
# res.plot(kind = 'pie', # 选择图形类型
# autopct='%.1f%%', # 饼图中添加数值标签
# radius = 1, # 设置饼图的半径
# startangle = 180, # 设置饼图的初始角度
# counterclock = False, # 将饼图的顺序设置为顺时针方向
# title = '失信用户的受教育水平分布', # 为饼图添加标题
# wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'}, # 设置饼图内外边界的属性值
# textprops = {'fontsize':10, 'color':'black'} # 设置文本标签的属性值
# )
# 不显示y轴标签
plt.ylabel('')
plt.show()
柱状图
房屋朝向柱状图,横轴为房屋朝向,纵轴为房源数量。可以看出,房屋朝向主要是坐北朝南的
代码
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
df=pd.read_csv(r'C:\Users\mym\Desktop\jz\58同城二手房数据-清洗.csv',encoding='gbk')
# 统计朝向
res=df.groupby("chaoxiang")["biaoti"].count()
# 排序
res=res.sort_values()
print(res)
res.plot(kind = 'bar')
# 不显示y轴标签
plt.xlabel('')
plt.show()
折线图
各区划二手房平均价格,横轴是各区划,纵轴是平均价格,可以看出净月区平均价格最高
代码
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
df=pd.read_csv(r'C:\Users\mym\Desktop\jz\58同城二手房数据-清洗.csv',encoding='gbk')
# 统计各个区划二手房平均价格
res=df.groupby("quhua")["jiage"].mean()
# 排序
res=res.sort_values()
print(res)
res.plot()
# 不显示y轴标签
plt.xlabel('')
plt.show()
感谢:
https://www.cnblogs.com/hello-zy/p/9440417.html
https://blog.csdn.net/weixin_42492529/article/details/99709295
https://wenku.baidu.com/view/5be8fd5412661ed9ad51f01dc281e53a59025179.html#




