数据来自:http://www.zcfcw.cn/
用到的库:
requests
lxml
time
numpy
pyecharts

对邹城2019年在售房价数据可视化

总计爬取了2200条房产售卖信息,筛选得2116条```python
市中心区 1171
城东区域 475
城北区域 58
城南区域 86
钢山街道 14
唐村镇 26
矿区 22
城西区域 161
北宿镇 12
千泉街道 23
凫山街道 30
中心店镇 11
香城镇 4
张庄镇 3
太平镇 7
其他区域 3
峄山镇 4
看庄镇 1
大束镇 4

各区域在售情况
图:
部分区域平均价位:

各区域高低价位图:

其中:
最高:祥生群贤府,桥东苑,义务商贸城,金都花园
最低:东丽花园,南屯矿兑舟园,峄佳社区,石佳花园

各区域价位集中散点图(x轴):
城东:

城西:

城南:

城北:

市中:

取其中较为代表的小区当前价位:

发布时间图:

爬虫:

import requests
from lxml import etree
import time
list=[]
error=[]
error_down=[]
def find_cont(url):try:#url='http://www.zcfcw.cn/sale/search/airall_ly%E4%B8%AA%E4%BA%BA_qy_fx_jg_mj_hx_zx_lc_dd.html'header={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}response=requests.get(url,headers=header,timeout = 500)dom=etree.HTML(response.text)for i in range(2,102,2):place=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[2]/a/text()'))home_name=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[3]/a/text()'))home_high=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[5]/a/text()'))home_tingwei=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[6]/a/text()'))home_mj=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[8]/a/text()'))home_danjia=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[9]/a/text()'))home_money=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[10]/a/text()'))home_time=''.join(dom.xpath('//*[@id="contectleft"]/ul['+str(i)+']/li[11]/a/text()'))import csvimport osone=[[u'地点', u'房产名',u'房子所在楼层',u'房子厅位',u'面积',u'平方售价',u'价格']]data =[[place, home_name,home_high,home_tingwei,home_mj,home_danjia,home_money,home_time]]with open('F:/python/zc_home/test.csv', 'a+',newline='') as f:w = csv.writer(f)#w.writerows(one)w.writerows(data)print(i)                except:print("error")error.append(err)callable
#生成网页链接
def url():for i in range(1,46):url='http://www.zcfcw.cn/sale/search/airallpage_ly%E4%B8%AA%E4%BA%BA_qy_fx_jg_mj_hx_zx_lc_dd_page{}.html'.format(i)list.append(url)#print(list)
def go():global errfor err in range(len(list)):print("开始爬取第{}页".format(err))print(error)find_cont(list[err])time.sleep(1.2)'''[23, 29, 30, 34, 36, 37, 38]'''
url()
print("网页获取完成")
print("开始获取房产信息")
go()
list_1=[]#处理404的网页
def go_error():global errfor i in list_1:url='http://www.zcfcw.cn/sale/search/airallpage_ly%E4%B8%AA%E4%BA%BA_qy_fx_jg_mj_hx_zx_lc_dd_page{}.html'.format(i)error_down.append(url)for err in range(len(list_1)):print("开始爬取第{}页".format(error_down[err]))find_cont(error_down[err])print(error)
#各区域销售总量代码
import collections
dic = collections.Counter(list_homename)
list_homename_1=[]
list_homename_number=[]
for i in dic:print(i,dic[i])list_homename_1.append(i)list_homename_number.append(dic[i])
#柱状图
from pyecharts.charts import Bar
from pyecharts import options as opts
bar_hn = (Bar().add_xaxis(list_homename_1).add_yaxis("各小区在售量",list_homename_number).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45)),title_opts=opts.TitleOpts(title="邹城各区域在售量", subtitle="2019.01-2019.10"))# 或者直接使用字典参数# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar_hn.render('1.html')
#求区域平均
import numpy
city.loc[city['地区']=='市中心区'][['单价']]
g=numpy.array(city.loc[city['地区']=='市中心区'][['单价']]).tolist()
list_3=[]
list_4=[]
len(g)
for i in g:list_3.append(i[0])
for i in list_3:list_4.append(int(i.strip('元/㎡')))
def averagenum(num):nsum = 0for i in range(len(num)):nsum += num[i]return nsum / len(num)
averagenum(list_4)
#小区平均
import numpy
city.loc[city['小区名称']=='泉兴家园'][['单价']]
g=numpy.array(city.loc[city['小区名称']=='泉兴家园'][['单价']]).tolist()
list_5=[]
list_6=[]
len(g)
for i in g:list_5.append(i[0])
for i in list_5:list_6.append(int(i.strip('元/㎡')))
print(sorted(list_6))
def averagenum(num):nsum = 0for i in range(len(num)):nsum += num[i]return nsum / len(num)
averagenum(list_6)
#散点图
import matplotlib.pyplot as plt
list_0=[]
a= 2000
for i in range(len(list_4)):    list_0.append(a)a=a+10
print(sorted(list_4))
plt.scatter(list_4,list_0)
plt.show()
#折线图
import pyecharts.options as opts
from pyecharts.faker import  Faker
from pyecharts.charts import Line
c = (Line().add_xaxis(['金山新苑','文博苑','昌平花园','燕京花园(西区)','鸿顺御景城','世纪国宏','贵都花园二期','东丽花园','泰和家园','名仕豪庭','欧陆商城','南宫房小区','金山花园','泉兴家园']).add_yaxis("价位", ['7328','9241','7555','6778','8012','8199','6690','3477','7799','9204','2935','4345','7617','8928']).set_global_opts(title_opts=opts.TitleOpts(title="部分小区平均价位图"),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45))))
c.render('2.html')
#用于处理时间排序的算法
data = []
patt = '(\d+)/(\d+)/(\d+)'#交换排序
for i in range(len(data)-1):for x in range(i+1, len(data)):j = 1while j<4:lower = re.match(patt, data[i]).group(j)upper = re.match(patt, data[x]).group(j)#print lower,upperif int(lower) < int(upper):j = 4elif int(lower) == int(upper):j += 1else:data[i],data[x] = data[x],data[i]j = 4
print(data)

其中xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45))可以让X轴显示全部

https://pyecharts.org/

数据可视化(一):邹城房价分析相关推荐

  1. 宝藏级BI数据可视化功能|图表联动分析

    在浏览其他人的BI数据可视化报表时,经常会发现这样的一个现象,点一下上一张数据可视化图表中的某个门店,下一张图表将立即针对该门店展开数据可视化分析.这是什么效果?怎么实现?BI软件中还有多少宝藏级BI ...

  2. python对三国演义,水浒传,红楼梦人物关系与出场频率进行文本分析,数据可视化,词云分析

    python对文本进行分析和数据可视化,主要运用到了jieba,worldcloudmatplotlib,nxwworkx,pandas库,其他库在代码中给出. 1.首先准备好这三本名著 2.准备好停 ...

  3. 抗击肺炎:新冠肺炎疫情数据可视化及疫情预测分析

    疫情当前,共克时艰. 在新型冠状病毒感染的肺炎疫情牵动社会人心的关键时刻,本文将利用数据分析.数据挖掘.机器学习相关方法,围绕疫情态势展示.疫情走势预测进行分析,挖掘复杂异构多源数据之间的关联关系,以 ...

  4. 数据可视化(三):Python就业分析

    前言 Python作为当下流行的一门语言,凭借其简单的语法和丰富的库而赢得天下. 本文所谈 Python优缺点 Python就业 结论 一.Python优缺点 优点 在搜索引擎上搜索即可获得许多答案, ...

  5. 北京房价信息(2002-2018)数据可视化

    本文是数据可视化的第二篇练习文,目的是承接上一篇中国全国各省结婚率和离婚率数据可视化 该篇文章主要使用的是Python数据可视化,用来分析北京地区从2002到2018年房价的趋势变化 为了方便读者理解 ...

  6. (七)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 7 业务分析报告与数据可视化报表

    PART 7 业务分析报告与数据可视化报表(占比 15%) 总体要求 理解业务分析报告与数据可视化报表的制作方法.能够结合业务需求撰写正确的业务分析报告,能够结合业务需求创建全面的数据可视化报表 1. ...

  7. 对比3家平台,我总结了疫情数据可视化的8点经验

    www.pmcaff.com 本文为作者 吾某 于社区发布 开年以来,随着疫情方面的数据逐渐增多,一些互联网公司也纷纷发布一些可视化的数据产品服务,让用户可以实时并直观了解最新情况,可谓一个便民利器. ...

  8. [转载] Python数据分析之Matplotlib数据可视化实例

    参考链接: 使用Python进行数据分析和可视化2 Matplotlib数据可视化的应用实例 分析 :2000至2017年各季度国民生产总值数据  npy文件--numpy专用的二进制格式 np.lo ...

  9. 企业数据可视化大屏的三大优势

    数据可视化屏幕是自主分析系统的解决方案,为企业提供直接表现结果,使业务人员和企业决策者直观面对数据背后的信息.市场上销售的自助分析工具是为企业提供的分析工具. 数据可视化是指通过图表.图形.地图等视觉 ...

最新文章

  1. 用boson做vlan的单臂路由实验
  2. ipython官网_IPython Notebook快速搭建
  3. c++ socket error 10038错误
  4. 教你在CorelDRAW中导入位图
  5. maven构建可执行jar包
  6. Trick(四)——翻转字符串的实现
  7. 模式识别与机器学习 (Pattern Recognization and Maching Learning)(PRML) 总结
  8. VMware Workstation 启动报错
  9. 计算机网络拓扑结构的分析,计算机网络拓扑结构分析
  10. sqldbx连接Smartbi mysql知识库
  11. 《一个程序员的奋斗史》读后感:从码农谈起
  12. python签到脚本_基于Python实现签到脚本过程解析
  13. 设计模式初探-观察者模式(OBSERVER)又称发布-订阅(Publish-Subscribe)依赖(Dependents)
  14. 计算机软件开发行业前景
  15. VH6501模板工程介绍(一)
  16. C++图书管理系统(简单版)
  17. 设计一个圆形文字LOGO
  18. 下载及配置maven详细步骤
  19. 专项职业能力考核计算机,专项职业能力考核项目指定试题汇编教材用书表(信息技术类)...
  20. K11718 My Cow Ate My Homework[USACO-2017-Dec-S]

热门文章

  1. canva怎么拼接图片_js canvas实现5张图片合成一张图片
  2. python 公司年会抽奖_公司年会抽奖程序-python
  3. PS入门教程:简单实用的PS快捷键教程1
  4. qt解析joystick飞行摇杆按键信息
  5. mozilla 源码_每日新闻摘要:Mozilla的Firefox Premium计划
  6. 让机器人解惑传道,对话式AI能否为企业带来巨量的业务?
  7. 使用ascii码对字符串进行加密解密
  8. PS在园林计算机辅助设计中有哪些应用,园林计算机辅助设计课程标准.doc
  9. LIN数据库文件LDF介绍及使用
  10. [绍棠] iOS文件目录和文件操作 及NSFileManager的读写操作