前几天利用python爬取了我爱我家的租房的一些数据,就想着能不能对房租进行一波分析,于是通过书籍和博客等查阅了相关资料,进行了房租的区间分析。不得不说,用python做区间分析比我之前用sql关键字统计区间简单多了,话不多说,上代码

# coding=utf-8
import pandas as pd
import pymysql
import matplotlib.pyplot as plt db = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="root", db="woaiwojia", charset='utf8')
cursor = db.cursor()
df = pd.read_sql("select * from zufang ", db)
#以下注释为对pandas读取数据之后的数据处理读取的尝试
#前三行
#rows = df[0:3]
#price和lxrphone两列
#cols = df[['price', 'lxrphone']]
#aa = pd.DataFrame(df)
#前三行和lxrphone和price列
# print(df.ix[0:3,['price','lxrphone']])
#读取数据的信息
# print(df.info())
#查看表的描述性信息
# print(df.describe()) #以下为获取price列的最大最小值并分组
xse = df['price']
# print(xse.max())
# print(xse.min())
fanwei = list(range(1500, xse.max(), 1500))
fenzu = pd.cut(xse.values, fanwei, right=False) # 分组区间,长度91
# print(fenzu.codes)#标签
# print(fenzu.categories)#分组区间,长度8
pinshu = fenzu.value_counts() # series,区间-个数
#print(pinshu)
# print(pinshu.index) #设置plot的展示格式
pinshu.plot(kind='bar')
qujian = pd.cut(xse, fanwei, right=False)
df['区间'] = qujian.values
df.groupby('区间').median()
df.groupby('区间').mean() pinshu_df = pd.DataFrame(pinshu, columns=['频数'])
pinshu_df['频率f'] = pinshu_df / pinshu_df['频数'].sum()
pinshu_df['频率%'] = pinshu_df['频率f'].map(lambda x: '%.2f%%' % (x * 100)) pinshu_df['累计频率f'] = pinshu_df['频率f'].cumsum()
pinshu_df['累计频率%'] = pinshu_df['累计频率f'].map(lambda x: '%.4f%%' % (x * 100)) print(pinshu_df) plt.show()

打印的结果

使用matplotlib.pyplot的show方法展示的数据

参考博客 pandas分区间,算频率

参考书籍《Python3爬虫、数据清洗与可视化实战》

利用Pandas和matplotlib分析我爱我家房租区间频率的更多相关文章

  1. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  2. python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)

    2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...

  3. 利用Python进行异常值分析实例代码

    利用Python进行异常值分析实例代码 异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值.常用检测方法3σ原则和箱型图.其中,3σ原则只适用服从正态分布的数据.在3σ原则下,异常值被 ...

  4. 我爱我家:我为什么选择AppCan?

    10年前,说起手机,大家联想到的词大概是:电话.短信.QQ.拍照,以及贪吃蛇等有限的几个小游戏.而如今,手机毫无疑问已经成为人们生活中不可或缺的部分.这是一个神奇的东西:通讯工具,外卖神器,游戏机,移 ...

  5. 上海二手房8月排名:链家、悟空找房、中原、太平洋、我爱我家、易居、房天下、iwjw、房多多、房好多、q房网、、、

    房产网站总结 链家: 悟空找房: 中原: 太平洋: 我爱我家: 易居: 房天下: iwjw:有较多二手房信息 链家称王 房多多领跑电商平台 近日,云房数据公布了8月上海房产中介成交数据,从排行榜来看, ...

  6. Pandas与Matplotlib基础

    pandas是Python中开源的,高性能的用于数据分析的库.其中包含了很多可用的数据结构及功能,各种结构支持相互转换,并且支持读取.保存数据.结合matplotlib库,可以将数据已图表的形式可视化 ...

  7. Pandas数据处理+Matplotlib绘图案例

    利用pandas对数据进行预处理然后再使用matplotlib对处理后的数据进行数据可视化是数据分析中常用的方法. 第一组例子(星巴克咖啡店) 假如我们现在有这样一组数据:星巴克在全球的咖啡店信息,如 ...

  8. 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据

    本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...

  9. Pandas与Matplotlib

    Pandas与Matplotlib基础 pandas是Python中开源的,高性能的用于数据分析的库.其中包含了很多可用的数据结构及功能,各种结构支持相互转换,并且支持读取.保存数据.结合matplo ...

随机推荐

  1. C++/C#结构体转化-二维数组

    String To bytes typedef struct VidyoClientInEventGroupChat_ { /*! Message (contents) to be sent to a ...

  2. 跨 Appdomain 对象共享

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  3. excel 导入导出测试点

    目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...

  4. Django-DRF组件学习-其他学习

    1.认证Authentication 可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_ ...

  5. Snow的追寻--线段树维护树的直径

    Snow终于得知母亲是谁,他现在要出发寻找母亲.王国中的路由于某种特殊原因,成为了一棵有n个节点的根节点为1的树,但由于"Birds are everywhere.",他得到了种种 ...

  6. 20191127 Spring Boot官方文档学习(4.12)

    4.12.缓存(Caching) Spring框架提供了对应用程序透明添加缓存的支持.从本质上讲,抽象将缓存应用于方法,从而根据缓存中可用的信息减少执行次数.缓存逻辑是透明应用的,不会对调用者造成任何 ...

  7. python下对mysql数据库的链接操作

    参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...

  8. springboot swagger教程😀

    传送门开启:https://www.ibm.com/developerworks/cn/java/j-using-swagger-in-a-spring-boot-project/index.html

  9. Javascript原型介绍

    原型及原型链 原型基础概念 function Person () { this.name = 'John'; } var person = new Person(); Person.prototype ...

  10. MyBatis二级缓存的笔记及记录

    一.什么是二级缓存: 由于一级缓存是一次性的.临时的:每个会话都会创建一个新的:多个会话之间是不能共享的: 二级缓存用于解决一级缓存的不足:每一个“namespace”都会对应一个二级缓存:执行查询的 ...