可视化-实验五-Pyecharts工具包的使用及文本数据可视化

1.2.1 pyecharts的数据类型以及新的数据导入逻辑

  由于pyecharts背后封装的js库,会涉及到数据类型转化。它暂时要求输入数据必须是python的基础数据类型,比如字符串,列表,字典,而不能是序列这样的数据类型。因此序列输入需要事先被转化为list等基础数据类型才能被pyecharts支持。

参考代码段:

import pandas as pd

a=pd.read_csv(r"shoes.csv")

a.columns

a.head(1)

p0=a.groupby("info.鞋面材质").size()

p0=p0.sort_values(ascending=False)

p0.tolist()

1.2.2 饼图实现比例数据可视化

2、自行设计数据,生成饼图

随机生成数据方法(也可以自行设计数据,注意数据格式是列表):

图5-3 随机生成数据

以自己随机生成的数据/自行设计的数据为基础,生成基础饼图

  1. 生成南丁格尔玫瑰图

1.2.3 极坐标堆叠柱形图绘制

1、复现极坐标绘制效果

半径表示日期:

参考:https://gallery.pyecharts.org/#/Polar/polar_radius 

圆边表示时间:

参考:https://gallery.pyecharts.org/#/Polar/polar_angleaxis

2、由csv包导入外部数据

pandas的read_csv函数可以用于读取csv文件数据,本次实验需要学习python读取csv文件的模块,python库自带有csv模块,读取csv文件简单,如以下代码读取csv文件,并输出每个单元的值:

import csv

file = open('hot-dog-places.csv','r')

RowsList = csv.reader(file)        #file为文件对象

for perRow in RowsList:        #遍历每一行,返回列表

    for colum in perRow:        #遍历一行中每个列单元格

        print(colum)            #打印单元格

(1)上传csv文件到我们的开发环境中

(2)导入csv文件内容

3、用极坐标进行实现堆叠柱状图(饼状)

(1)用极坐标进行实现可视化

图5-8 极坐标柱形图例

将三组数据均实现出来(半径表示时间):

图5-9 极坐标堆叠图例

4、有一csv文件colleges_universities.csv(该文件可以从超星上下载)按gbk格式存储,包含有部分省份高校本专科数据,请参考以下代码分别实现高校本专科数据的堆叠柱形图和不堆叠柱形图。

#堆叠柱形图代码

from pyecharts import options as opts

from pyecharts.charts import Bar

import pandas as pd

a=pd.read_csv(r"presidential_approval_rate.csv", encoding="gbk")

X=list(a["政治举措"])

Y=list(a["支持"])

Y1=list(a["反对"])

Y2=list(a["不发表意见"])

data= [list(z) for z in zip(X,Y)]

c=Bar()

c.add_xaxis(X)

c.add_yaxis("支持",Y,stack='stack1')

c.add_yaxis("反对",Y1,stack='stack1')

c.add_yaxis("不发表意见",Y2,stack='stack1')

c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)"),              xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30)),)

c.render_notebook()

1.2.4 复现矩形树图

TreeMap是pyecharts绘图包的矩形树图函数(文件GDP_data_1.json可在超星上下载),可在https://gallery.pyecharts.org/#/Treemap/treemap_levels上学习TreeMap的功能,复现图5-10代码,绘制矩形树图。

5-10 TreeMap代码

1.2.5  实现堆叠面积图

1、在Jupter NoteBook中加载文件us-population-by-age.xls

2、查阅pyecharts有关堆叠面积图的文档,复现图4-1代码,绘制图4-2堆叠面积图。

图5-11 堆叠面积图

1.2.6 Calendar日历图

1、复现日历图

图5-12 复现日历图及代码

2、自行设计数据,生成Calendar 

图5-13 生成Calendar图例及代码

2.3.1 安装包

安装jieba、wordcloud

pip install jieba

pip install wordcloud

2.3.2 文本数据可视化

2.3.2.1 文件的读取和写入

数据来源于2014年阿里天池数据竞赛,为天猫14年某月用户消费行为记录抽样,第一列是用户号,第二列是品牌号,第三列是记录类型(浏览:0;购买:1;收藏:2,购物车:3),第四列是时间。

1、文件的基本操作,文件的读取

open

readlines()

数据读入的三种方式

readlines(会自动关闭文件)

readline

read(会自动关闭文件)

close

readline读取结构化数据

read经常读取非结构化数据,比如说小说数据的读取,并且对读取结果做统计(词云的单词统计可借鉴这里):

2、文件的基本操作,文件的写入

w重新写

a添加

格式化写入,和格式化输出类别:%s

会把原来的清除掉,是重新写入心的内容。

追加,直接添加在后面

格式化的输入,记得close()

5.3.2.2 urllib、requests和BeautifulSoup 

urllib是python的基本库之一,内置四大模块,即request,error,parse,robotparser,常用的request,error,一个用于发送HTTP请求,一个用于处理请求的错误。parse用于对URL的处理,拆分,全并等。

requests是python的第三方库,它是对urllib的再次封装。

爬虫的通用步骤:抓取、解析、存储

1、网页的获取

urllib.request.urlopen().read()#获得网页并用read函数读入源代码的查看

2、网页的解析

处理网页包 BeautifulSoup

标签与特征

find_all,attrs={},contents

2.3.3 热门电影影评的爬取过程

豆瓣电影

1、爬取豆瓣影评数据步骤:

(1)获取网页请求

(2)解析获取的网页

(3)提取影评数据

(4)保存文件

(5)词云分析

  涉及到的库:requests、BeatifulSoup

(1)获取网页请求:

https://movie.douban.com/subject/25881778/comments?start=20&limit=20&status=P&sort=new_score

25881778:电影ID

start=20:开始页面

limit=20:每页评论条数

(2)解析获取的网页(按下F12查看源码)

找到特殊标签:

<span class="short">看着屈楚萧的脸,你就觉得他为爱痴情这么多年很扯淡。</span>

获取第一条影评:

所以,循环可以获取到该url的所有影评内容

  1. 将抓取的内容写入到txt文档当中

提示:前面部分都是对一个url,进行处理,请大家思考,针对我们影评实际上是很多个url的,那么应该如何处理呢?

#生成大量的url链接

urls = ['https://movie.douban.com/subject/25881778/comments?start={}&limit=20&status=P&sort=new_score'.format(str(i)) for i in range(0,1000,20)]

for url in urls:

    #对获取的当前url爬取处理

    time.sleep(1)

建议大家获取前50页的影评,每页20条,如果出现溢出提示,大家可以自行缩少页数,并进行说明。

  1. 生成词云

https://gallery.pyecharts.org/#/WordCloud/basic_wordcloud 

import jieba #中文分词库

2.3.4 几种生成词云的方法介绍

https://gallery.pyecharts.org/#/WordCloud/basic_wordcloud 

     

     

5.3.5 文本数据可视化的案例

1、数据源:post_data.csv,记录了某网站上最受用户喜爱的100篇文章的浏览量、评论数和文章分类。要求计算出各类文章总的浏览量,然后用pyecharts库中的WordCloud()函数绘制词云图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/609195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RockChip Android13 添加/删除ListPreference方法

概述: 本章将讲述在Android添加或删除ListPreference的几种方法,并以EthernetSettingsActivity为例,添加/删除一项ListPreference: 默认效果图: 添加后效果图: 方法一: 1、全部添加xml 在Activity类中使用addPreferencesFromResource()方法解析XML文件并添加Prefere…

Node.js安装与配置环境 v20.13.1(LTS)

1 下载 Node.js — Run JavaScript Everywhere LTS -- long-term support&#xff0c;长期维护版本 如果要下载其他版本在download里选择下载 2 安装 一路点击next&#xff0c;默认安装路径C:\Program Files\nodejs 3 环境变量配置 1&#xff09;Path环境变量增加nodejs安装…

艾体宝方案 | 加密USB金融解决方案

在现代金融行业中&#xff0c;保护敏感数据和合规性已成为至关重要的任务。为了帮助金融公司应对移动性风险和合规挑战&#xff0c;我们提供了一种高效的加密USB解决方案。 一、为什么金融公司需要加密USB解决方案 1、降低移动性风险 金融服务公司正在迅速过渡到一种模式&a…

将本地托管模型与 Elastic AI Assistant 结合使用的好处

作者&#xff1a;来自 Elastic James Spiteri, Dhrumil Patel 当今公共部门组织利用生成式人工智能解决安全挑战的一种方式。 凭借其筛选大量数据以发现异常模式的能力&#xff0c;生成式人工智能现在在帮助团队保护其组织免受网络威胁方面发挥着关键作用。 它还可以帮助安全专…

短信平台群发服务有什么优点

短信平台群发服务有什么优点 提高营销效率 短信平台群发服务利用自动化技术&#xff0c;可以帮助企业迅速向大量潜在客户营销信息。相比传统的逐一方式&#xff0c;群发服务可以同时大批目标客户&#xff0c;大大提高了营销效率。企业可以轻松地在短时间内覆盖更多的潜在客户&…

JavaSE——异常(2/2)-异常的处理(记录异常并提示 、尝试重新修复)

目录 记录异常并提示 案例演示 流程解析 写法优化 尝试重新修复 开发中对于异常的常见处理方式 一层一层往上抛出异常&#xff0c;并且在最上层捕获异常&#xff0c;分为两种不同的处理方式。 例如&#xff0c;B站网页报错就是采取的第一种方式&#xff1a; 记录异常并…

linux 性能监控命令之dstat

1. dstat 系统默认为安装&#xff0c;直接安装阿里源后&#xff0c;yum install -y dstat安装即可&#xff0c;该命令整合了 vmstat &#xff0c; iostat 和 ifstat&#xff0c;我们先看下效果&#xff1a; 我们先看看具体参数&#xff1a; [rootk8s-master ~]# dstat --help …

C++STL初阶(1):string的使用及初阶原理

此文作为学习stl的笔记&#xff0c;许多普及、概念性的知识点将不再罗列&#xff08;如stl的发展、背景等&#xff09; 便于读者作为复习等方法了解。 0.STL简介&#xff08;笔记向&#xff09; STL不是祖师爷本贾尼实现的&#xff0c;是在惠普实验室中实现的。其作为一个数据结…

加密“发射台”:未来通信的新模式

随着区块链技术的飞速发展&#xff0c;加密“发射台”作为一种新兴的安全通信工具&#xff0c;正逐渐受到关注。本文将从专业角度深入探讨加密“发射台”的概念、原理、应用场景及其未来发展趋势&#xff0c;以期为读者提供有深度和逻辑性的思考。 一、加密“发射台”的概念与…

开源项目介绍-02 Aubio【1】环境配置和使用 @ Ubuntu + Pycharm + Python

前言&#xff1a; aubio 是一组算法和工具&#xff0c;用于标记和变换音乐和声音。它扫描或监听音频信号&#xff0c;并尝试识别音乐事件。例如&#xff0c;当鼓被击打时&#xff0c;它能检测到音符的频率&#xff0c;或者一个有节奏的旋律的节拍是多少。 aubio 的功能包括&a…

java 文件表创建及前后端使用

表结构task_file 前端具体到业务表单 <el-form-item label"任务附件" prop"taskAttachment"><el-upload ref"upload" accept".jpg, .png, .txt, .xlsx, .doc, .docx, .xls, .pdf, .zip, .rar":action"upload.url" …

C语言例题39、输入一个正整数,将其反方向逆序输出

#include <stdio.h>void main() {int x;int ge; //个位int result 0;printf("请输入一个正整数&#xff1a;");scanf("%d", &x);while (x > 0) {//解题原理ge x % 10;//每次分解取得个位的数字result result * 10 ge;//个十百千万顺序向左…

限购仅剩6地,透过房价地图看楼市行情!

同一天&#xff0c;两地取消限购&#xff01; 5月9日&#xff0c;继杭州取消限购之后&#xff0c;西安也宣布全面取消住房限购&#xff01; 现在&#xff0c;我们透过几幅楼市数据的分布地图&#xff0c;来看看5月的楼市行情&#xff01; 楼市限购&#xff0c;仅剩6地&#…

YOLOv9改进策略 :一种新颖的通用倒瓶颈(UIB)搜索块助力检测| 轻量化之王MobileNetV4

💡💡💡创新点:轻量化之王MobileNetV4 开源 | Top-1 精度 87%,手机推理速度 3.8ms,原地起飞! 最主要创新:引入了通用倒瓶颈(UIB)搜索块,这是一个统一且灵活的结构,它融合了倒瓶颈(IB)、ConvNext、前馈网络(FFN)以及一种新颖的额外深度可分(ExtraDW)变体技…

【iOS】事件传递与响应机制

文章目录 前言事件UIEvent一、事件传递遍历顺序 二、手势识别三、响应机制UIResponder&#xff08;响应者&#xff09;响应者链 四、相关应用扩大button点击范围穿透事件 总结 前言 提到响应者链与事件传递&#xff0c;如果看过其他人的博客&#xff0c;经常能看到这经典的三张…

《探索信息技术中心一体化系统架构:提升企业数字化转型的效率与能力》

在当今数字化时代&#xff0c;信息技术中心&#xff08;IT Center&#xff09;扮演着至关重要的角色&#xff0c;它不仅是企业的技术支撑&#xff0c;更是推动数字化转型的引擎。为了更好地应对日益复杂的业务需求和技术挑战&#xff0c;许多企业开始探索一体化系统架构&#x…

引用数据类型 栈内存 堆内存

let m { a: 10, b: 20 }; let n m; n.a 15; console.log(m.a) // 15 原因&#xff1a;基本数据类型存储在栈内存中&#xff0c;引用数据类型存储在堆内存中 &#xff0c;引用数据类型存储在堆内存中会在栈内存中创建一个指针&#xff0c;栈内存中的这个指针指向堆内存中的地…

英语学习笔记9——How are you today?

How are you today? 你好吗&#xff1f; 词汇 Vocabulary well adj. 好的 n. 井 fine adj. 美好的 两个方面&#xff1a;天气、身体。 搭配&#xff1a;a fine day 晴朗的一天    It’s a fine day today. 今天很晴朗。 good adj. 好的 口语偏多 搭配&#xff1a;Good jo…

基于光纤技术的新能源汽车电池安全监测--FOM²系统

为什么要进行动力电池包的温度监测&#xff1f; 新能源电动汽车的动力电池包的工作温度&#xff0c;不仅会影响电池包性能&#xff0c;而且直接关系到车辆安全。时有发生的新能源汽车电池包起火事件&#xff0c;对电池包、冷却系统以及电池管理系统&#xff08;BMS&#xff09…

初阶C语言(8) - 实用的调试技巧

1. 什么是bug? bug 是计算机领域专业术语&#xff0c;是计算机在硬件、软件、协议和系统安全策略上存在的缺陷&#xff0c;攻击者能够在未授权情况下访问的危害&#xff0c;世界最早的一批程序设计师之一&#xff0c;美国的葛丽丝霍波在调试设备时出现故障&#xff0c;拆开继电…