本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于云+社区,作者 算法与编程之美

转载地址

https://blog.csdn.net/fei347795790?t=1

1 前言

在日益发展的社会,人们每天都会产生大量的数据,很多工作中也常常涉及到对数据的处理。而众多的数据让人头昏眼花,所以需要对数据进行可视化。将数据转换为大脑更容易接受的图表形式。所以有了后来的excel表格,它在数据的可视化处理方面非常强大。但是随着数据量的增大,用excel往往都是重复之前的步骤。效率也就变得很低了,还容易枯燥。于是,python的可视化数据来了,在重复这件事上,相信没有谁可以比程序来得更快更好。所以今天小编就通过实例给大家简单展示下数据的可视化处理。

2 模块准备

首先是python环境不用多说,然后是可读取excel的xlrd模块和强大的可视化模块pyecharts。两者都通过pip安装即可。

pip install xlrdpip install pyecharts

然后直接导入对应模块和类即可。

#导入模块from pyecharts.charts import Barfrom pyecharts import options as optsimport xlrd #读取excel的模块

3 具体步骤

3.1 读取excel表格

为了方便首先将准备好的excel表格放置在py文件同目录下,然后运行以下代码即可读取。

data = xlrd.open_workbook("gongzhonghao.xls") #打开工作表table = data.sheets()[0] #找到excel中对应的sheet表,这里是第一个

读取excel表格的行和列都是以列表的形式返回的。

3.2 数据分析

通过以上代码读取到对应的excel表格后,在通过简单的代码对数据进行处理。首先要知道一个柱状图有什么。柱状图有x、y轴。一般x轴只有一条数据,所以通过上面excel表中的内容可以得出用作者作为x轴最好。然后小编这次的目的是统计每个作者发布的文章数和文章总得分(总得分=每篇文章的在看数加阅读数的1/10和点赞数的1/2)。所以就可以以文章数和得分作为y轴。

allData = {} #用来储存作者与文章的数据for i in range(1,table.nrows): #遍历表格中的每一行look = table.row_values(i)[2] #在看read = table.row_values(i)[3] #阅读数like = table.row_values(i)[4] #点赞score = look + read * (1 / 10) + like * (1 / 2) #每篇文章得分if table.row_values(i)[1] not in allData.keys(): #判断储存数据的字典中是否有该作者allData.get(table.row_values(i)[1]) #没有就添加allData[table.row_values(i)[1]] = [1,score] #为这个作者添加值(文章数和得分)else:allData[table.row_values(i)[1]][0] += 1 #有就文章数加一allData[table.row_values(i)[1]][1] += score #累计得分author = list(allData.keys()) #获取作者表datas = list(allData.values()) #获取数据表articleCount = [] #储存文章数articleScore = [] #储存得分for i in datas: #遍历数据表articleCount.append(i[0]) #添加文章数articleScore.append(round(i[1],1)) #添加的得分

上面的代码简单的运用了python的遍历和字典的知识。由于本文的重点是可视化,所以这里就不做详细说明了。

3.3可视化

通过上面的数据处理,就已经拿到了x,y轴的数据了,接下来就直接使用pyecharts模块进行渲染配置。

bar = (Bar() #对柱状图进行简单配置.add_xaxis(author) #设置横坐标为作者.add_yaxis('文章数',articleCount) #纵坐标一为文章数.add_yaxis('得分',articleScore) #纵坐标二为得分.set_global_opts( #全局配置,标题、副标题、坐标轴、主题等title_opts=opts.TitleOpts(title = '公众号得分数据分析',subtitle = '近期作者发布文章数与得分情况')))bar.render() #生成html文件

小编这里只是简单的配置了标题和副标题。对于pyecharts的全部配置可以说是九牛一毛。还有很多的参数可以更改,详情请到官网查看官方文档:

4 完整代码

#导入模块from pyecharts.charts import Barfrom pyecharts import options as optsimport xlrd #读取excel的模块data = xlrd.open_workbook("gongzhonghao.xls") #打开工作表table = data.sheets()[0] #找到excel中对应的sheet表,这里是第一个allData = {} #用来储存作者与文章的数据for i in range(1,table.nrows): #遍历表格中的每一行look = table.row_values(i)[2] #在看read = table.row_values(i)[3] #阅读数like = table.row_values(i)[4] #点赞score = look + read * (1 / 10) + like * (1 / 2) #每篇文章得分if table.row_values(i)[1] not in allData.keys(): #判断储存数据的字典中是否有该作者allData.get(table.row_values(i)[1]) #没有就添加allData[table.row_values(i)[1]] = [1,score] #为这个作者添加值(文章数和得分)else:allData[table.row_values(i)[1]][0] += 1 #有就文章数加一allData[table.row_values(i)[1]][1] += score #累计得分author = list(allData.keys()) #获取作者表datas = list(allData.values()) #获取数据表articleCount = [] #储存文章数articleScore = [] #储存得分for i in datas: #遍历数据表articleCount.append(i[0]) #添加文章数articleScore.append(round(i[1],1)) #添加的得分bar = (Bar() #对柱状图进行简单配置.add_xaxis(author) #设置横坐标为作者.add_yaxis('文章数',articleCount) #纵坐标一为文章数.add_yaxis('得分',articleScore) #纵坐标二为得分.set_global_opts( #全局配置,标题、副标题、坐标轴、主题等title_opts=opts.TitleOpts(title = '公众号得分数据分析',subtitle = '近期作者发布文章数与得分情况')))bar.render() #生成html文件

Python数据可视化案例:分析微信公众号数据相关推荐

  1. python学习:爬虫爬取微信公众号数据

    spider 一.获取链接 二.爬取文章标题.文章链接.文章正文.时间 三.爬取阅读量与点赞数 参考: https://blog.csdn.net/qq_45722494/article/detail ...

  2. [python]用flask框架搭建微信公众号的后台

    用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...

  3. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  4. python wechatsougou_python抓取搜狗微信公众号文章

    初学python,抓取搜狗微信公众号文章存入mysql mysql表: 代码: import requests import json import re import pymysql # 创建连接 ...

  5. Scrapy框架采集微信公众号数据,Python大佬机智操作绕过反爬验证码

    前情提要 此代码使用scrapy框架爬取特定"关键词"下的搜狗常规搜索结果,保存到同级目录下csv文件.并非爬取微信公众号文章,但是绕过验证码的原理相同.如有错误,希望大家指正. ...

  6. python爬取论文全文数据_Python爬取微信公众号历史文章进行数据分析

    思路: 1. 安装代理AnProxy,在手机端安装CA证书,启动代理,设置手机代理: 2. 获取目标微信公众号的__biz; 3. 进入微信公众号的历史页面: 4. 使用Monkeyrunner控制滑 ...

  7. Python数据分析 | 分析微信公众号历史发文信息

    文章目录 一.前言 二.获取历史文章信息 三.提取和查看数据 四.数据可视化 原文链接:https://yetingyun.blog.csdn.net/article/details/11228825 ...

  8. python通过手机抓取微信公众号

    使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...

  9. 时序分解股票数据并部署在微信公众号上

    目的 将股票价格进行时序分解,得到趋势图.周期图和误差图.然后放到微信公众号上,让用户输入"002581.SZ"等股票代码,即可自动回复以上的图片. 主要思路 用tushare获得 ...

  10. 微信公众号数据2019_2019年9月原创公众号排行榜数据报告出炉

    西瓜数据发布 2019 年 9 月原创公众号排行榜,分别从西瓜指数.原创文章占比.周期内公众号发文次数.发文篇数.总阅读数.头条平均阅读数等方面展示公众号数据. 榜单说明 1.涉及榜单 本期月榜截取 ...

最新文章

  1. SAP MM 工序委外场景再探 – 相关采购申请单据中的总账科目确定
  2. 20170601xlVBA正则表达式提取体检数据
  3. Go 语言编程 — 数据类型转换
  4. 详解django三种文件下载方式
  5. php用mssql还是用pdo,php使用pdo连接mssql server数据库实例
  6. tomcat启动卡住
  7. Ruby中的Profiling工具
  8. 小鹏吃相难看,消费者难做“鹏”友
  9. lintcode-easy-Delete Node in the Middle of Singly Linked List
  10. 校验码的计算方法说明
  11. ARM Keil5下载安装并导入STM32芯片
  12. 深度掌握SVG路径path的贝塞尔曲线指令
  13. 微信支付提示微信登录失败:redirect_uri域名与后台配置不一致,错误码:10003
  14. 2014腾讯校园招聘实习技术类笔试题目
  15. matlab分析启动子特征,文献编译 | 相对脑血容量(rCBV)可作为MGMT启动子甲基化阳性GBM的辅助预后指标...
  16. python3笔记_Python3入门笔记
  17. 拒绝服务攻击过程详解
  18. objectArx --- 工具类
  19. 把款软件可以测试双显卡,如何看自己的电脑是不是双显卡?双显卡有什么好处?...
  20. Android录屏分析(Android12源码)

热门文章

  1. U3D(Unity) 实现电路解密、通水管游戏
  2. python的基本数据类型关键字_Python3 基本数据类型
  3. EHub_tx1_tx2_E100 测试VisionWorks跑自带的demo
  4. 网络安全技术——网络地址转换(NAT)
  5. orge,Nebula与klayGE对比
  6. Android屏幕适配很难嘛?其实也就那么回事,吐血整理
  7. 从深圳流水线女工到美国谷歌程序员-一位女孩的奋斗史诗
  8. 多模态知识问答:MMCoQA: Conversational Question Answering over Text, Tables, and Images
  9. XMLHttpRequest.readyState 状态
  10. Linux基础:破解root密码(rd.break)