pandas数据可视化 作者:马育民 • 2020-10-26 17:31 • 阅读:10219 # 介绍 本文讲解数据可视化 数据文件: [![](https://www.malaoshi.top/upload/pic/python/QQ20201026173003.png)](https://www.malaoshi.top/upload/pic/python/QQ20201026173003.png) 下载: https://gitee.com/65242847/pic/blob/master/csv/58%E5%90%8C%E5%9F%8E%E4%BA%8C%E6%89%8B%E6%88%BF%E6%95%B0%E6%8D%AE-%E6%B8%85%E6%B4%97.csv # 散点图-价格与面积 二手房价格与面积散点图,横轴为面积(平米),纵轴为价格(万元)。从图中可以看出,价格与面积符合正相关关系。 数据点分布比较集中,大多数都在价格 30-150 万元,面积 40-120 平米区域内。 [![](https://www.malaoshi.top/upload/pic/python/mianjijiagesandiantu.png)](https://www.malaoshi.top/upload/pic/python/mianjijiagesandiantu.png) ### 代码 ``` 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%。其他户型占比比较少。 [![](https://www.malaoshi.top/upload/pic/python/huxing_bing4.png)](https://www.malaoshi.top/upload/pic/python/huxing_bing4.png) ### 代码 ``` 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() ``` # 柱状图 房屋朝向柱状图,横轴为房屋朝向,纵轴为房源数量。可以看出,房屋朝向主要是坐北朝南的 [![](https://www.malaoshi.top/upload/pic/python/chaoxiang_zhuzhuangtu.png)](https://www.malaoshi.top/upload/pic/python/chaoxiang_zhuzhuangtu.png) ### 代码 ``` 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() ``` # 折线图 各区划二手房平均价格,横轴是各区划,纵轴是平均价格,可以看出净月区平均价格最高 [![](https://www.malaoshi.top/upload/pic/python/zhexiantu_gequpingjunjiage.png)](https://www.malaoshi.top/upload/pic/python/zhexiantu_gequpingjunjiage.png) ### 代码 ``` 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# 原文出处:http://malaoshi.top/show_1EF6Vg9vcnjN.html