• 数据分析(Python+numpy+pandas+matplotlib分析58同城成都房价)


    简单分析一下成都的房价

    github博客传送门
    csdn博客传送门

    爬虫文件(Python实现)-爬取的数据文件(txt文件,空格分隔)-分析的文件(Python实现)-简单的分析结果图(png图4张) 资源链接地址:https://download.csdn.net/download/zhanghao3389/10686953

    本章所需知识:

    爬虫页面链接:https://blog.csdn.net/zhanghao3389/article/details/82843244

    接下来上代码:

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    
    data = pd.read_csv('58.csv', encoding='gbk')  # 导入当前文件夹下的58.csv数据文件
    print(data.head())  # 查看前5行
    print(data.tail())  # 查看后5行
    data.info()  # 查看数据信息
    print(data.describe())  # 统计学指标查看数据概要
    
    # # 处理缺失数据
    # data['单价/每平米'].fillna('无', inplace=True)
    # data['面积/每平米'].fillna('无', inplace=True)
    # data['总价/万'].fillna('无', inplace=True)
    
    print(data['地区'].unique())  # 打印出地区唯一化后的值
    print(len(data['地区'].unique()))  # 打印出地区唯一化后的个数
    
    print(data['地区'].value_counts())  # 对每个地区的数量进行统计
    print(data.groupby('地区')['单价/每平米'].mean().sort_values(ascending=False))  # 单价平均值
    print(data.groupby('地区')['面积/平方米'].mean().sort_values(ascending=False))  # 面积平均值
    print(data.groupby('地区')['总价/万'].mean().sort_values(ascending=False))  # 总价平均值
    
    '''['郫县' '成都' '成都周边' '都江堰' '双流' '温江' '新都' '龙泉驿' '金牛' '高新西区' '武侯' '成华' '青羊' '锦江' '高新区' '天府新区']'''
    
    # 解决matplotlib图标无法显示中文的情况
    from pylab import mpl
    
    mpl.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体  # 调节matplotlib支持中文字体
    mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示不了的问题
    
    # 数据离散化 单价
    bins1 = np.array([0, 5000, 10000, 15000, 20000, 25000, 30000, 55000])
    data_ls1 = pd.cut(data['单价/每平米'], bins1)  # bins1离散化数组 data_ls1 离散化数据
    
    # 数据离散化 总价
    bins2 = np.array([0, 40, 80, 150, 250, 500, 2000])
    data_ls2 = pd.cut(data['总价/万'], bins2)  # bins2离散化数组 data_ls2 离散化数据
    
    # 数据离散化 面积
    bins3 = np.array([0, 50, 75, 100, 125, 150, 175, 200, 300, 1500])
    data_ls3 = pd.cut(data['面积/平方米'], bins3)  # bins3离散化数组 data_ls3 离散化数据
    
    # 数据透视表
    # 使用数据透视表方法pivot_table 需要计算的列明 柱状图下标     离散化数据区间      聚合函数 统计
    table = data.pivot_table('面积/平方米', index='地区', columns=data_ls1, aggfunc='count')
    table.plot(kind='bar', stacked=True)  # 表数据画图 bar柱状图 stacked重叠 开
    plt.show()
    
    # 画一个柱状图
    table2 = data.pivot_table('总价/万', index='地区', columns=data_ls2, aggfunc='count')
    table2.plot(kind='bar', stacked=True)
    plt.show()
    
    # 画一个柱状图
    table3 = data.pivot_table('面积/平方米', index='地区', columns=data_ls3, aggfunc='count')
    table3.plot(kind='bar', stacked=True)
    plt.show()
    
    # 画一个饼图(展示各地区房子在售比例)
    count1 = data['地区'].value_counts()
    plt.axes(aspect=1)  # 画一个单位圆
    plt.pie(x=dict(count1).values(), labels=dict(count1).keys(), autopct='%3.1f %%', shadow=True, startangle=90)
    plt.show()
    

    爬虫页面链接:https://blog.csdn.net/zhanghao3389/article/details/82843244

    程序运行状态图:
    1
    2

  • 相关阅读:
    解决证书过期而无法连接到或启动HyperV虚拟机的问题
    Hyperv相关补丁(错误号87 Virtual Machine Management服务无法启动)
    Formula One Report学习总结
    漂亮的Form皮肤
    FarPoint Design BorderEditor(边框设计)
    保存图片到SQL Server
    发布一个的Web日期选择控件及源码(其中的js代码来自于Microsoft CRM)
    自谈音乐之道
    SQL Server 存储过程的分页
    教你9招最有效防电脑辐射方法
  • 原文地址:https://www.cnblogs.com/Mrzhang3389/p/9703672.html
Copyright © 2020-2023  润新知