版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能数据分析与应用第一单元
采集网络数据
全套可编辑PPT课件教学概述教学导航1情境一使用BeautifulSoup库与XPath语法解析网页2情境二使用Requests采集网络数据第一单元采集网络数据情境一使用BeautifulSoup库与XPath语法解析网页01030204情景概述知识准备案例讲解总结PART01情境概述情境一使用BeautifulSoup库与XPath语法解析网页情景概述
学习情境爬虫采集的招聘数据是存在一个网页内的。那么提取网页中的内容,就需要使用BeautifulSoup库、XPath语法。因此本学习情境就是了解BeautifulSoup库、XPath语法的用法。关键知识点BeautifulSoup库的应用XPath语法的规则情境一:使用BeautifulSoup库与XPath语法解析网页情景概述
关键技能点lxml库的安装BeautifulSoup的安装数据提取情境一:使用BeautifulSoup库与XPath语法解析网页PART02知识准备情境一使用BeautifulSoup库与XPath语法解析网页知识准备知识点介绍情境一:使用BeautifulSoup库与XPath语法解析网页知识准备BeautifulSoup框架介绍BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库。可以给BeautifulSoup库指定任意合适的转换器,来对文档进行查找、遍历、内容修改。BeautifulSoup将HTML或XML元素封装成Python对象。使得开发者可以使用面向对象的方式访问文档中的元素。情境一:使用BeautifulSoup库与XPath语法解析网页PART03案例讲解情境一使用BeautifulSoup库与XPath语法解析网页知识准备#-*-coding:utf-8-*-#frombs4importBeautifulSouphtml_doc='''<divclass="tHeadertHjob"style="display:block;"><h1title="人工智能与湍流/转捩模型研究岗">人工智能与湍流/转捩模型研究岗<inputvalue="130271220"name="hidJobID"id="hidJobID"type="hidden"jt="0"></h1><strong>15-20万/年</strong>
。。。。。</div>'''soup=BeautifulSoup(html_doc,'lxml')情境一:使用BeautifulSoup库与XPath语法解析网页知识准备h1=soup.find('h1')print(h1.text)情境一:使用BeautifulSoup库与XPath语法解析网页知识准备情境一:使用BeautifulSoup库与XPath语法解析网页知识准备fromlxmlimportetreehtml=etree.HTML(html_doc)result=html.xpath('//div/div/div/h1/text()')[0]print(result)result=html.xpath('//a[@class="catn"]/text()')[0]print(result)情境一:使用BeautifulSoup库与XPath语法解析网页PART04总结情境一使用BeautifulSoup库与XPath语法解析网页总结本情景,主要介绍了BeautifulSoup与XPath等相关知识,通过对案例的学习,让同学们掌握网页内容提取的方式。情境一:使用BeautifulSoup库与XPath语法解析网页结束课程名称:智能数据分析与应用
智能数据分析与应用第一单元
采集网络数据
教学概述教学导航1情境一使用BeautifulSoup库与XPath语法解析网页2情境二使用Requests采集网络数据第一单元采集网络数据情境二使用Requests采集网络数据01030204情景概述知识准备案例讲解总结PART01情境概述情境二使用Requests采集网络数据
情景概述
学习情境采集网页数据的库有Urillib、Requests、Scrapy。相较于Urillib、Scrapy,Requests更易于安装,架构更简单,使用起来更容易上手。因此学习情境就是了解Requests的使用。关键知识点爬虫的原理HTTP请求原理情境二:使用Requests采集网络数据
情景概述
关键技能点Requests库环境安装Requests采集网页使用XPath提取数据并存入txt情境二:使用Requests采集网络数据PART02知识准备情境二使用Requests采集网络数据知识准备知识点介绍情境二:使用Requests采集网络数据知识准备Requests框架介绍Requests是一个基于Apache2协议开源的PythonHTTP库,号称是“为人类准备的HTTP库”。以上是Requests官网对其模块的总体介绍。Requests完全满足当今Web的需求:Keep-Alive&连接池国际化域名和URL带持久Cookie的会话浏览器式的SSL认证自动内容解码情境二:使用Requests采集网络数据知识准备基本/摘要式的身份认证优雅的key/valueCookie自动解压Unicode响应体HTTP(S)代理支持文件分块上传流下载连接超时分块请求支持.netrcPART03案例讲解情境二使用Requests采集网络数据知识准备importrequests
r=requests.get('/job/index.php?c=comapply&id=5093')print(r.text)payload={'c':'search','keyword':'人工智能'}r=requests.get("/job",params=payload)print("实际请求的地址:",r.url)情境二:使用Requests采集网络数据知识准备importrequests
payload={'c':'search','keyword':'人工智能'}r=requests.get("/job",params=payload)print("编码:",r.encoding)print("响应内容:",r.content)情境二:使用Requests采集网络数据知识准备importrequestsfromPILimportImagefromioimportBytesIOr=requests.get('/-0U0bnSm1A5BphGlnYG/tam-ogel/ebab86f7705d07cc2293b6eaa210db02_259_194.jpg')i=Image.open(BytesIO(r.content))i.show()情境二:使用Requests采集网络数据知识准备importrequests
r=requests.get('/events')data=r.json()print(data)情境二:使用Requests采集网络数据PART04总结情境二使用Requests采集网络数据总结总结本情景,主要介绍了Http与Requets等相关知识,通过对案例的学习,让同学们掌握爬取网页的方式。情境二:使用Requests采集网络数据结束课程名称:智能数据分析与应用
智能数据分析与应用第二单元对数据进行处理
教学概述教学导航1情境一使用Excel处理数据2情境二使用Tabula处理数据3情境三使用Kettle处理数据CONTENTS目录情境处理数据01030204情景概述知识准备案例讲解总结PART01情境概述情境一使用Excel处理数据情境二使用Tabula处理数据情景概述
学习情境数据分析要得到准确的结果,就需要高质量的数据。当拿到数据之后,首先就需要对数据进行预处理。对于小规模的数据集,直接使用Excel处理即可。因此,本情境主要介绍如何使用Excel处理数据。关键知识点Excel分列格式转换Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据
情景概述
关键知识点Excel格式转换清除重复值、分列Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据PART02知识准备情境一使用Excel处理数据情境二使用Tabula处理数据知识准备知识点介绍知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据PART03案例讲解情境一使用Excel处理数据情境二使用Tabula处理数据PART04总结情境一使用Excel处理数据情境二使用Tabula处理数据总结本情景,主要介绍了Excel处理格式、删除重复值,使用Tabula提取pdf数据等相关知识,通过对案例的学习,让同学们掌握如何用Excel处理小数据集。情境:使用Excel和Tabula处理数据结束课程名称:智能数据分析与应用
智能数据分析与应用第二单元对数据进行处理
教学概述教学导航1情境一使用Excel处理数据2情境二使用Tabula处理数据3情境三使用Kettle处理数据CONTENTS目录情境处理数据01030204情景概述知识准备案例讲解总结PART01情境概述情境一使用Excel处理数据情景概述
学习情境数据分析要得到准确的结果,就需要高质量的数据。当拿到数据之后,首先就需要对数据进行预处理。对于小规模的数据集,直接使用Excel处理即可。因此,本情境主要介绍如何使用Excel处理数据。关键知识点Excel分列格式转换Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据
情景概述
关键知识点Excel格式转换清除重复值、分列Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据PART02知识准备情境一使用Excel处理数据知识准备知识点介绍知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据知识准备情境:使用Excel和Tabula处理数据PART03案例讲解情境一使用Excel处理数据PART04总结情境一使用Excel处理数据总结本情景,主要介绍了Excel处理格式、删除重复值等相关知识,通过对案例的学习,让同学们掌握如何用Excel处理小数据集。情境:使用Excel和Tabula处理数据结束课程名称:智能数据分析与应用
智能数据分析与应用第二单元对数据进行处理
教学概述教学导航1情境一使用Excel处理数据2情境二使用Tabula处理数据3情境三使用Kettle处理数据CONTENTS目录情境处理数据01030204情景概述知识准备案例讲解总结PART01情境概述情境二使用Tabula处理数据情景概述
学习情境数据分析要得到准确的结果,就需要高质量的数据。当拿到数据之后,首先就需要对数据进行预处理。对于小规模的数据集,直接使用Excel处理即可。因此,本情境主要介绍如何使用Excel处理数据。关键知识点Excel分列格式转换Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据
情景概述
关键知识点Excel格式转换清除重复值、分列Tabula获取pdf文档内容情境:使用Excel和Tabula处理数据PART02知识准备情境二使用Tabula处理数据知识准备知识点介绍知识准备情境:使用Excel和Tabula处理数据1.Tabula提取pdf内容(1)Tabula安装下载Tabula的具体地址如下:/tabulapdf/tabula/releases/download/v1.2.1/tabula-win-1.2.1.zipTabula支持Windows、MacOSX、Linux/Other等多个平台,这里选择Windows版本。(2)Tabula使用方法PART03案例讲解情境二使用Tabula处理数据PART04总结情境二使用Tabula处理数据总结本情景,主要介绍了使用Tabula提取pdf数据等相关知识,通过对案例的学习,让同学们掌握如何用Excel处理小数据集。情境:使用Excel和Tabula处理数据结束课程名称:智能数据分析与应用
智能数据分析与应用第二单元对数据进行处理
教学概述教学导航1情境一使用Excel处理数据2情境二使用Tabula处理数据3情境三使用Kettle处理数据CONTENTS目录情境三使用Kettle处理数据01030204情景概述知识准备案例讲解总结PART01情境概述情境三使用Kettle处理数据情景概述
学习情境对于数据量相对较大,处理过程比较复杂、繁琐的数据集,可以使用Kettle。Kettle支持跨平台运行,其特性包括:支持无编码、拖拽方式方式实现数据处理;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源等。因此本情境主要介绍Kettle的基本使用。关键知识点Kettle的基本概念Kettle数据处理的流程情境三:使用Kettle处理数据情景概述
关键技能点Kettle环境安装Kettle的结构与启动方式使用Kettle构造工作流使用Kettle清洗数据情境三:使用Kettle处理数据PART02知识准备情境三使用Kettle处理数据知识准备知识点介绍情境三:使用Kettle处理数据知识准备Kettle的体系结构Kettle是一种用于ETL业务的工具。ETL的全称是Extract-Transform-Load,即数据抽取、转换、装载。很多时候,我们存在这样的需求,就是需要将现有数据进行处理、转换、迁移。在没有Kettle之前,开发者需要自行编程,根据业务去处理数据。大多数情况下,业务领域的专家并不擅长程序开发,因此做一个基本的数据处理操作,都需要专业技术员定制开发,导致成本、内耗增高。有了Kettle之后,非开发人员就能通过在界面上进行可视化操作,完成数据处理、清洗等任务。Kettle是一个通用的数据处理软件,支持多种数据存储介质之间的数据转换、迁移,是业内做数据处理的常用工具,业务人员只需简单学习就可上手操作。情境三:使用Kettle处理数据知识准备Kettle的体系结构Kettle在逻辑层面上有两个重要概念:转换与作业。转换:处理的是数据流。数据流是指数据在输入控件与输出控件之间的流动。针对的是每一个数据项处理。作业:是一系列的步骤组合。作业的一个步骤就是一个转换。作业将多个转换在连接一起形成工作流。情境三:使用Kettle处理数据知识准备Kettle的体系结构情境三:使用Kettle处理数据知识准备Kettle的核心组件主要有以下几个部分spoon:构造转换与作业的桌面工具pan:用于执行spoon构建的转换kitchen;用于执行spoon构建的作业carte:服务用于执行一个作业,与kitchen类似。不同之处在于,Carte是一个后台服务,而kitchen执行完一个作业后就会自动退出情境三:使用Kettle处理数据知识准备Kettle的核心组件主要有以下几个部分carte.sh/Carte.bat:启动后台/集群服务命令工具encr.sh/Encr.bat:加密工具import.sh/Import.bat:导入工具kitchen.sh/Kitchen.bat:运行作业的工具pan.sh/Pan.bat:运行转换的工具set-pentaho-env.sh/set-pentaho-env.bat:设置环境变量的工具spoon.sh/Spoon.bat:用于启动spoon客户端界面和服务情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据PART03案例讲解情境三使用Kettle处理数据知识准备情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据知识准备情境三:使用Kettle处理数据PART04总结情境三使用Kettle处理数据总结本情景,主要介绍了Kettle的基本用法,通过对案例的学习,让同学们了解Kettle的基本使用步骤
。情境三:使用Kettle处理数据结束课程名称:智能数据分析与应用
智能数据分析与应用第三单元对数值数据进行分析
教学概述教学导航1情境一NumPy创建与索引复杂数据对象2情境二对招聘数据的数组进行形态变换3情境三读写招聘信息数据集CONTENTS目录情境一NumPy创建与索引复杂数据对象01030204情景概述知识准备案例讲解总结PART01情境概述情境一NumPy创建与索引复杂数据对象情景概述
学习情境NumPy是著名的机器学习三剑客的组件之一,主要用于数值分析,是机器学习数据分析的核心部件。尤其是在图像处理业务中,图像数据就是用NumPy数组进行表示。因此,本情境主要介绍NumPy框架的基本使用。关键知识点数组创建数据类型数据索引情境一:NumPy创建与索引复杂数据对象
情景概述
关键技能点多维数组创建数据索引情境一:NumPy创建与索引复杂数据对象PART02知识准备情境一NumPy创建与索引复杂数据对象知识准备知识点介绍情境一:NumPy创建与索引复杂数据对象知识准备
NumPy介绍NumPy的主要数据对象是多维数组,这个多维数组的每一个元素都Python列表,数组的维度称为axes。在数组中,每个列表的数据类型是相同的。
与获取普通列表中元素的用法一样,NumPy数组也是通过非负整数作为下标来索引数据。NumPy的数组使用ndarry对象表示。ndarry有如下属性:ndim:获取ndarry的维度数量itemsize:获取每一个元素的存储空间大小,用字节表示data:获取数组对象的内存地址情境一:NumPy创建与索引复杂数据对象知识准备
dtype:获取组元素的数据类型。除了Python的基础类型之外,NumPy也提供了自己的数据类型,比如int32、int16、float64shape:获取数组的形状。注意:该属性非常重要。在后续章节介绍的数据预处理过程,经常会先观察数组形状,然后调整数组形状,以使数据能满足算法模型的要求size:获取数组中元素的个数情境一:NumPy创建与索引复杂数据对象PART03案例讲解情境一NumPy创建与索引复杂数据对象案例讲解#-*-coding:utf-8-*-#
importnumpyasnp
#调用array函数将Python列表转为一维数组a=np.array([12,31,34,8])print("a的维度:",a.ndim)#调用array函数将Python列表转为多维数组b=np.array([(1.5,2.6,3.8),(1.4,2.5,6)])情境一:NumPy创建与索引复杂数据对象案例讲解print("\nb的维度:",b.ndim)#创建数组时指定数据类型c=np.array([[11,12],[32,41]],dtype=complex)print("\nc为复数数组:\n",c)#创建值为0的数组d=np.zeros((2,3))print("\nd所有元素为0的数组:\n",d)#创建值为0的数组e=np.ones((2,3))print("\ne所有元素为1的数组:\n",e)情境一:NumPy创建与索引复杂数据对象案例讲解#-*-coding:utf-8-*-#importnumpyasnp
a=np.array([2.8,3.6,5.4])print("数组a的类型:",a.dtype)b=a.astype(int)print("转换后的类型:",b.dtype)情境一:NumPy创建与索引复杂数据对象案例讲解importnumpyasnp
x=[xforxinrange(5)]a=np.asarray(x)print("一维数组的索引与切片:")print("原始数据:",a)print("按下标取值:",a[4])print("按2-4范围切片:",a[2:4])print("按2到全部切片:",a[2:])print("\n")情境一:NumPy创建与索引复杂数据对象案例讲解print("二维数组的索引与切片:")y=[[10,21,22,33],[16,14,52,53],[21,24,26,93]]b=np.asarray(y)print("取第2行第1列的值:",b[2,1])print("取第1行之后的所有行和第1列的值:",b[1:,1])print("取第1行的值和第1列之后的所有列的值:",b[1,1:])print("取第2行和所有列:",b[2,:])情境一:NumPy创建与索引复杂数据对象案例讲解print("\n使用ix函数:")c=np.ix_([0,1],[2,3])d=b[c]print(d)情境一:NumPy创建与索引复杂数据对象PART04总结情境一NumPy创建与索引复杂数据对象总结总结本情景,主要介绍了NumPy操作数组的基本知识,通过对案例的学习,让同学们对NumPy工具有个初步的了解。情境一:NumPy创建与索引复杂数据对象结束课程名称:智能数据分析与应用
智能数据分析与应用第三单元对数值数据进行分析
教学概述教学导航1情境一NumPy创建与索引复杂数据对象2情境二对招聘数据的数组进行形态变换3情境三读写招聘信息数据集CONTENTS目录情境2对招聘数据的数组进行形态变换01030204情景概述知识准备案例讲解总结PART01情境概述情境2对招聘数据的数组进行形态变换情景概述
学习情境在对数据进行分析的时候,不同的神经网络接收的数据的形状是不一样的。因此,为了能将数据顺利放入模型中,就需要对数据的形状进行改变。因此,本情境主要介绍如何改变NumPy数组的形状。关键知识点形态变化数组堆叠数组拆分情境:对招聘数据的数组进行形态变换
情景概述
关键技能点形态变化数组拆分情境:对招聘数据的数组进行形态变换PART02知识准备情境2对招聘数据的数组进行形态变换知识准备知识点介绍情境:对招聘数据的数组进行形态变换知识准备
在对数据进行分析的时候,不同的神经网络接收的数据的形状是不一样的。因此,为了能将数据顺利放入模型中,就需要对数据的形状进行改变。因此,情境2主要介绍如何改变NumPy数组的形状。情境:对招聘数据的数组进行形态变换知识准备
改变形状的函数有:RavelReshapeVstackHstackHsplit情境:对招聘数据的数组进行形态变换知识准备1.改变形状改变数组的形状有多种方式。ravel函数将数组拉平为一维数组;reshape函数修改数组的行列结构,甚至可以将二维数组转为三维数组;T是转秩;resize是改变对应维度上列表的大小。情境:对招聘数据的数组进行形态变换练习3-5:知识准备2.堆叠数组堆叠数组有4种方式。垂直堆叠、水平堆叠、列堆叠、行堆叠。其中垂直堆叠与行堆叠是同一个函数实现;水平堆叠与列堆叠虽然函数实现不同,但是堆叠效果是一致的。情境:对招聘数据的数组进行形态变换练习3-6:知识准备2.拆分数组调用hsplit函数可以从水平方向上对数组进行拆分
情境:对招聘数据的数组进行形态变换练习3-7:PART03案例讲解情境2对招聘数据的数组进行形态变换案例讲解将展示如何对招聘数据进行聚合拆分a1和a2是两个数组,但描述的是同一条数据。因此,可以将a1和a2按水平方式拼接。同理,b1和b2也按水平堆叠。最后将两份堆叠的结果进行垂直堆叠,形成一个完整的数据集。
#-*-coding:utf-8-*-#importnumpyasnpa1=np.asarray(["重庆A公司","大数据分析","10000"])a2=np.asarray(["观音桥","2022年-5月"])b1=np.asarray(["杭州B公司","前端","20000"])b2=np.asarray(["西湖","2022年-4月"])print("水平堆叠:")情境:对招聘数据的数组进行形态变换案例讲解c1=np.hstack((a1,a2))print(c1)c2=np.hstack((b1,b2))print(c2)print()print("垂直堆叠:")d=np.vstack((c1,c2))print(d)情境:对招聘数据的数组进行形态变换PART04总结情境2对招聘数据的数组进行形态变换总结本情景,主要介绍了NumPy数组形态变化,通过对案例的学习,让同学们知道实际开发场景中如何在用NumPy。情境:对招聘数据的数组进行形态变换结束课程名称:智能数据分析与应用
智能数据分析与应用第三单元对数值数据进行分析
教学概述教学导航1情境一NumPy创建与索引复杂数据对象2情境二对招聘数据的数组进行形态变换3情境三读写招聘信息数据集CONTENTS目录情境2、3
数组变换与应用01030204情景概述知识准备案例讲解总结PART01情境概述情境3读写招聘信息数据集情景概述
学习情境使用NumPy进行数据分析后,需要将结果进行持久化。因此,本情境主要介绍如何使用NumPy对文件进行读写。关键知识点NumPy文件读写情境:读写招聘信息数据集PART02知识准备情境3读写招聘信息数据集知识准备知识点介绍情境:读写招聘信息数据集知识准备
使用NumPy进行数据分析后,需要将结果进行持久化。因此,情境3主要介绍如何使用NumPy对文件进行读写。情境:读写招聘信息数据集知识准备
支持的文件有:读写CSV/TXT文本文件读写NPY/NPZ文本文件读写HDF5文本文件情境:读写招聘信息数据集知识准备#-*-coding:utf-8-*-#importnumpyasnpa=np.asarray([[10,21,22,33],[16,14,52,53]])file='a.csv'#保存为CSV文件np.savetxt(file,a,fmt='%d',delimiter=',')#读取CSV文件b=np.loadtxt(file,dtype=32,delimiter=',')print(b)1.读写CSV/TXT文本文件知识准备NPZ与CSV等普通文本文件的存储方式不一样。NPZ文件可以同时存储多个数组,CSV一次只能存储一个。同时NPZ文件支持存储多维数组,而CSV则不行。2.读写NPY/NPZ文本文件知识准备2.读写NPY/NPZ文本文件importnumpyasnpa=np.asarray([[[10,21,22,33]],[[16,14,52,53]],[[12,11,32,33]]])b=np.asarray([[10,21,22,33],[16,14,52,53]])file='a.npz'np.savez(file,key1=a,key2=b)c=np.load(file)foriinc.keys():print("键为:",i)print("对应的数组为:\n",c[i])print()知识准备3.读写HDF5文本文件h5py写入与读取文件都调用File函数,使用参数'w'(写)和'r'(读)进行控制。相较于NPZ、CSV,当数组较大时,使用h5py存储文件更适合,因为保存的文件体积更小。#-*-coding:utf-8-*-#importh5pyimportnumpyasnpa=np.asarray([[[10,21,22,33]],[[16,14,52,53]],[[12,11,32,33]]])b=np.asarray([[10,21,22,33],[16,14,52,53]])知识准备3.读写HDF5文本文件file='a.h5'h5=h5py.File(file,'w')h5.create_dataset('key1',data=a)h5.create_dataset('key2',data=b)h5.close()h5=h5py.File(file,'r')foriinh5:print("键为:",i)print("对应的数组为:\n",h5[i][:])print()PART03案例讲解情境3读写招聘信息数据集知识准备#-*-coding:utf-8-*-#importh5pyimportnumpyasnpa=np.asarray([10007,60010001,400000])file=r"job_info.csv"b=np.loadtxt(file,dtype=32,delimiter=',')print("加载招聘数据,第一列为岗位编号,第二列为公司编号,第三列为邮编")c=np.vstack((a,b))
情境:读写招聘信息数据集知识准备file=r"job_info.h5"#写入h5文件h5=h5py.File(file,'w')h5.create_dataset('key1',data=c)h5=h5py.File(file,'r')print("\n从h5文件加载合并后的数据:\n",h5["key1"][:])情境:读写招聘信息数据集PART04总结情境3读写招聘信息数据集总结本情景,主要介绍了NumPy文件读写,通过对案例的学习,让同学们知道实际开发场景中如何在用NumPy。情境:读写招聘信息数据集结束课程名称:智能数据分析与应用
第四单元对数据进行统计以及相关性进行分析智能数据分析与应用
教学概述教学导航第四单元对数据进行统计以及相关性进行分析0102情境一使用Pandas访问不同的数据源情境二使用Pandas进行数据处理03情境三使用Pandas分析招聘数据情境一使用Pandas访问不同的数据源01030204情景概述知识准备案例讲解总结PART01情境概述情境一使用Pandas访问不同的数据源
情景概述
学习情境一 Pandas是机器学习三剑客之一。其中包含了丰富的数据统计分析函数,对多种数据源支持良好,比如Mysql、PostgreSql等。因此本情境主要介绍如何使用Pandas读取不同数据源的数据。关键知识点Pandas读写文件读写数据库情境一:使用Pandas访问不同的数据源
情景概述
关键技能点数据同步读写数据库情境一:使用Pandas访问不同的数据源PART02知识准备情境一使用Pandas访问不同的数据源知识准备知识点介绍情境一:使用Pandas访问不同的数据源知识准备1.Pandas读取CSV与Excel文件file_path=r'job_info.csv'job_info=pd.read_table(file_path,sep=',',encoding='gbk')print('job_info.csv文件数据行数为:',len(job_info))
file_path=r'jobs.xlsx'jobs=pd.read_excel(file_path)print('jobs.xlsx文件数据行数为:',len(jobs))job_info.to_csv('job_info_copy.csv',sep='|',index=False)jobs.to_excel('jobs_copy.xlsx')情境一:使用Pandas访问不同的数据源知识准备2.Pandas读取Mysql数据engine=create_engine('mysql+pymysql://root:root@localhost:3307/test?charset=utf8')
jobs=pd.read_sql_table('jobs',con=engine)print('jobs表数据行数:',len(jobs))
jobs.to_sql('jobs1',con=engine,index=False,if_exists='replace')tables=pd.read_sql_query('showtables',con=engine)print('写入数据库后test的表为:','\n',tables)情境一:使用Pandas访问不同的数据源知识准备3.Pandas读取PostgreSQL数据engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8')users=pd.read_sql_table('user',con=engine)print('users表数据行数:',len(users))users.to_sql('users1',con=engine,index=False,if_exists='replace')tables=pd.read_sql_query("select*frompg_tableswhereschemaname='public'",con=engine)print('写入数据库后postgres的表为:','\n',tables)情境一:使用Pandas访问不同的数据源PART03案例讲解情境一使用Pandas访问不同的数据源案例讲解按照本章节所涉及的知识面及知识点,作为下一步工作实施参考案例。本案例将展示如何使用Pandas实现Mysql到PostgreSQL之间的数据同步。首先,创建数据库连接引擎用于连接PostgreSQLengine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)然后读取PostgreSQL数据库jobs=pd.read_sql_table('jobs',con=mysql_engine)情境一:使用Pandas访问不同的数据源案例讲解之后创建连接Mysql的数据引擎对象pg_engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)最后调用to_sql写入数据库jobs.to_sql('pg_jobs',con=pg_engine,index=False,if_exists='replace')情境一:使用Pandas访问不同的数据源PART04总结情境一使用Pandas访问不同的数据源总结本情景,主要介绍了Pandas读取Mysql,PostgreSql,CSV等数据源,通过对案例的学习,让同学们掌握如何使用Pandas对文本数据、关系型数据库进行读写。情境一:使用Pandas访问不同的数据源结束课程名称:智能数据分析与应用
第四单元对数据进行统计以及相关性进行分析智能数据分析与应用
教学概述教学导航第四单元对数据进行统计以及相关性进行分析0102情境一使用Pandas访问不同的数据源情境二使用Pandas进行数据处理03情境三使用Pandas分析招聘数据情境二使用Pandas进行数据分析01030204情景概述知识准备案例讲解总结PART01情境概述情境二使用Pandas进行数据分析
情景概述
学习情境二 Pandas具有丰富的API,可以对数据进行进行清洗、转换。对于复杂的逻辑,还支持自定义函数。因此本情境主要介绍在分析招聘数据时,如何使用Pandas来对数据进行删除、修改等操作。关键知识点:
数据插值、删除、修改、过滤
自定义函数关键技能点:
自定义函数情境二:使用Pandas进行数据处理PART02知识准备情境二使用Pandas进行数据分析知识准备知识点介绍情境二:使用Pandas进行数据处理案例讲解1.数据过滤与删除jobs=pd.read_sql_table('jobs',con=engine)print("过滤前的数据长度:",len(jobs))filter_jobs=jobs[(jobs['count']==5)&(jobs['province']=='河南’)]jobs.drop(labels=‘job_id',axis=1,inplace=True)jobs.drop(labels=range(0,5),axis=0,inplace=True)情境二:使用Pandas进行数据处理案例讲解2.数据插值series=pd.Series([1,np.nan,33,np.nan,np.nan,5])series.fillna(1.0,inplace=True)df=pd.DataFrame()df['val']=[1,2,np.nan,6.1,np.nan,np.nan]df['val']=df['val'].interpolate(method='linear')情境二:使用Pandas进行数据处理案例讲解3.自定义函数df=pd.DataFrame(series)deff(item):ifisinstance(item,int):returnstr((item/10000))+"万"returnitem
newDf=df.applymap(f)print(newDf)情境二:使用Pandas进行数据处理PART03案例讲解情境二使用Pandas进行数据分析案例讲解案例将演示如何对招聘数据信息进行处理首先读取jobs.xlsx中的内容。由于文件中“访问时间”列的数据格式不一致,因此这里调用pandas的apply函数,设置回调函数format_date对日期进行处理。处理完毕后创建连接Postgre的数据引擎对象,将结果存入数据库。jobs=pd.read_excel(file_path)defformat_date(item):item["访问时间"]="{}-{}-{}".format(item["访问时间"].year,item["访问时间"].month,item["访问时间"].day)returnitem情境二:使用Pandas进行数据处理案例讲解new_df=jobs.apply(format_date,axis=1)engine=create_engine("postgresql+psycopg2://postgres:postgre@localhost:5432/postgres",encoding="utf-8")new_df.to_sql("log",con=engine,index=False,if_exists="replace")data=pd.read_sql_query("select访问时间fromlog",con=engine)print("插入数数据库的内容为:","\n",data)情境二:使用Pandas进行数据处理PART04总结情境二使用Pandas进行数据分析总结本情景,主要介绍了Pandas如何进行过滤、删除等数据处理技术,通过对案例的学习,让同学们掌握如何使用Pandas对数据进行预处理。情境二:使用Pandas进行数据处理结束课程名称:智能数据分析与应用
智能数据分析与应用第四单元对数据进行统计以及相关性进行分析
教学概述教学导航1情境一使用Pandas访问不同的数据源2情境二使用Pandas进行数据处理3情境三使用Pandas分析招聘数据CONTENTS目录情境三使用Pandas分析招聘数据01030204情景概述知识准备案例讲解总结PART01情境概述情境三使用Pandas分析招聘数据情景概述
学习情境对数据处理后,更多的是对数据进行统计分析。比如排序、求最大最小、求平均、求和、分组求平均、分组求和。因此,本情境主要介绍在分析招聘数据过程中,使用到的Pandas统计分析相关的功能。关键知识点数据排序数据相关性分组统计聚合统计情境三使用Pandas分析招聘数据情景概述
关键技能点数据相关性分组统计聚合统计情境三使用Pandas分析招聘数据PART02知识准备情境三使用Pandas分析招聘数据知识准备知识点介绍情境三使用Pandas分析招聘数据PART03案例讲解情境三使用Pandas分析招聘数据案例讲解1.数据排序df=pd.DataFrame(series)df1=df.sort_index(axis=1)print("按列名排序:")print(df1)print()df2=df.sort_values(by=["salary"])print("按值排序:")print(df2)情境三使用Pandas分析招聘数据案例讲解2.数据相关性series={"work":pd.Series([9,1,1,3,10,12]),"salary":pd.Series([20000,4000,2500,5000,67000,75000])}df=pd.DataFrame(series)data=df["salary"].corr(df["work"])print("salary与work的相关性:")print(data)情境三使用Pandas分析招聘数据案例讲解3.分组统计file_path=r'job_info_header.csv'job_info=pd.read_table(file_path,sep=',',encoding='gbk')group_data=job_info.groupby("岗位名称")forgroup_name,memberingroup_data:print("分组名称:",group_name,"\n","组成员:",member)print()情境三使用Pandas分析招聘数据案例讲解4.聚合统计print("en列总成绩:",df["en"].aggregate(np.sum))print("math列总成绩:",df["math"].aggregate(np.sum))print()print("多列汇总:")print("math列总成绩:",df[["math","en"]].aggregate(np.sum))print()print("多列进行多种聚合:")print("math列总成绩:",df[["math","en"]].aggregate([np.sum,np.mean]))情境三使用Pandas分析招聘数据PART04总结情境三使用Pandas分析招聘数据总结本情景,主要介绍了Pandas聚合分析的知识,通过对案例的学习,让同学们掌握如何使用Pandas对数据进行统计分析。情境三使用Pandas分析招聘数据结束课程名称:智能数据分析与应用
智能数据分析与应用第五单元数据可视化
教学概述教学导航情境一掌握Matplotlib的基本应用1情境一掌握Matplotlib的基本应用2情境二使用Matplotlib对招聘数据进行可视化分析3情境三使用Seaborn对招聘数据进行进一步分析CONTENTS目录情境一掌握Matplotlib的基本应用01030204情景概述知识准备案例讲解总结PART01情境概述情境一掌握Matplotlib的基本应用情景概述
学习情境在进行招聘数据分析时常需要对数据进行可视化分析。Matplotlib是机器学习三剑客之一,对Python语言支持良好,图形种类丰富。因此本学习情境是了解Matplotlib的基本知识与基本应用,了解如何导入Matplotlib包,以及绘制不同的图形。关键知识点Matplotlib基本结构Matplotlib绘制基本图形情境一掌握Matplotlib的基本应用
情景概述
关键技能点Matplotlib基本结构Matplotlib绘图原理Matplotlib绘图流程情境一掌握Matplotlib的基本应用PART02知识准备情境一掌握Matplotlib的基本应用知识准备知识点介绍情境一掌握Matplotlib的基本应用知识准备1.Matplotlib的基本结构绘图的步骤:首先导入matplotlib.pyplot模块,然后准备数据,最后调用plot函数传入数据,即可绘图data=list(range(10,50))plt.plot(data)plt.ylabel("基本直线",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本应用2.修改图形样式x=list(range(10,50))y=list(range(30,70))plt.plot(x,y,"ro")plt.ylabel("传入多个值",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本应用知识准备3.使用NumPy数据绘图x=np.array(list(range(10,30)))y=np.array(list(range(20,40)))
plt.plot(x,y,"r+",x*np.sin(2),y*np.cos(3),"b*")plt.ylabel("传入多个值",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本应用知识准备4.使用Pandas数据绘制柱状图plt.rcParams['font.sans-serif']=['SimHei']series={"name":pd.Series(["wanglin","ligao","xiyong","shenhao","shangzhen","liweida"]),"en":pd.Series([80,60,25,80,67,85])}df=pd.DataFrame(series)x,y=df["name"],df["en"]plt.bar(x,y,color="r")
plt.show()情境一掌握Matplotlib的基本应用知识准备5.绘制饼图labels=["AI算法工程师","大数据开发工程师","前端开发工程师","Java开发工程师","Python爬虫开发工程师"]data=[11,15,21,7,12]color=["red","green","blue","yellow","cyan"]explode=(0,0,0,0.1,0)plt.pie(data,explode=explode,labels=labels,autopct="%1.2f%%",startangle=130)plt.title("各岗位的招聘人数")plt.show()情境一掌握Matplotlib的基本应用知识准备6.通过子图同时显示多个岗位信息engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)
plt.subplot(211)df=pd.read_sql_query("SELECTprovince,count(1)countfrompg_jobsGROUPBYprovince",con=engine)s=[100]color=["r"]plt.scatter(x=list(df["province"]),y=list(df["count"]),s=s,c=color)plt.xlabel("相关城市")情境一掌握Matplotlib的基本应用知识准备plt.subplot(212)df=pd.read_sql_query("SELECTprovince,sum(count)totalfrompg_jobsGROUPBYprovince",con=engine)x,y=df["province"],df["total"]plt.bar(x,y,color="r")plt.xlabel("每个城市的数量求和")
plt.show()情境一掌握Matplotlib的基本应用知识准备PART03案例讲解情境一掌握Matplotlib的基本应用按照本章节所涉及的知识面及知识点,使用Pandas读取数据库数据并使用气泡图进行数据可视化展示。很多时候,采用散点图不能满足要求。因为散点图只能反映数据出现在哪些地方,如何分布,但是不知道该具体分布的大小。因此为了获取更多的信息,多时候采用的是气泡图。情境一掌握Matplotlib的基本应用案例讲解PART04总结情境一掌握Matplotlib的基本应用总结
本情景,主要介绍了Matplotlib等相关知识,通过对案例的学习,让同学们掌握如何使用Matplotlib绘图。情境一掌握Matplotlib的基本应用结束课程名称:智能数据分析与应用
智能数据分析与应用第五单元数据可视化
教学概述教学导航情境二使用Matplotlib对招聘数据进行可视化分析1情境一掌握Matplotlib的基本应用2情境二使用Matplotlib对招聘数据进行可视化分析3情境三使用Seaborn对招聘数据进行进一步分析CONTENTS目录情境二使用Matplotlib对招聘数据进行可视化分析01030204情景概述知识准备案例讲解总结PART01情境概述情境二使用Matplotlib对招聘数据进行可视化分析情景概述
学习情境针对不同的分析需求时,需要选择合适的图形。不同的图形,包含了不同的含义。因此本学习情境是针对具体业务,选择合适的Matplotlib图形。关键知识点使用Matplotlib对招聘数据进行分析情境二使用Matplotlib对招聘数据进行可视化分析
情景概述
关键技能点解读数据含义情境二使用Matplotlib对招聘数据进行可视化分析PART02知识准备情境二使用Matplotlib对招聘数据进行可视化分析知识准备知识点介绍情境二使用Matplotlib对招聘数据进行可视化分析知识准备1.通过子图同时显示多个岗位信息在一张画布上绘制多个图,以观察数据的整体情况。情境二使用Matplotlib对招聘数据进行可视化分析代码plt.subplot(211)表示创建组图,其中211的含义是:2:表示两行的画布1:表示画布只有1列1:表示放在这个画布的第一行第一个位置知识准备2.分析各区域招聘量占比情境二使用Matplotlib对招聘数据进行可视化分析知识准备3.分析热门岗位
热门岗位是指点击量比较多的岗位。本样例将读取岗位数据,并对各岗位进行分组,然后最点击数求和,最后将求和的结果进行降序排列。情境二使用Matplotlib对招聘数据进行可视化分析PART03案例讲解情境二使用Matplotlib对招聘数据进行可视化分析案例讲解1.实现思路
对于热门城市,就是在数据集中出现次数最多的城市,因此这里只需对城市进行分组统计,并筛选出前5个;对分析找工作的热门时间,则以用户浏览招聘网站的时间进行分组,并对其进行排序;工作年限与薪资关联关系可以直接使用折线图,即可看出其相互之间是否存在关联。2.编程实现情境二使用Matplotlib对招聘数据进行可视化分析PART04总结情境二使用Matplotlib对招聘数据进行可视化分析总结
本情景,主要介绍了Matplotlib等相关知识,通过对案例的学习,让同学们掌握如何使用Matplotlib绘图。情境二使用Matplotlib对招聘数据进行可视化分析结束课程名称:智能数据分析与应用
智能数据分析与应用第五单元数据可视化
教学概述教学导航情境三:Seaborn数据可视化1情境一掌握Matplotlib的基本应用2情境二使用Matplotlib对招聘数据进行可视化分析3情境三使用Seaborn对招聘数据进行进一步分析CONTENTS目录情境三Seaborn数据可视化01030204情景概述知识准备案例讲解总结PART01情境概述情境三Seaborn数据可视化
情景概述
学习情境:
针对不同的分析需求时,需要选择合适的图形。不同的图形,包含了不同的含义。因此本学习情境是针对具体业务,选择合适的Matplotlib图形。
Matplotlib图形存在一定的局限。比如对数据进行分组显示、分析数据的集中程度。绘制这类图形往往需要更多的代码。而Seaborn针对这类情境来说,实现起来相对容易。因此本学习情境,就是了解Matplotlib的扩展图形框架Seaborn的使用。关键知识点:数据分组可视化数据分组可视化情境三:Seaborn数据可视化
情景概述
关键技能点:数据分组多维数据关联分析下的数据可视化情境三:Seaborn数据可视化PART02知识准备情境三Seaborn数据可视化知识准备知识点介绍情境三:Seaborn数据可视化1.绘制分类散点图importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.stripplot(x="class",y="age",data=titanic)plt.show()情境三:Seaborn数据可视化知识准备2.绘制分簇散点图importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.swarmplot(x=titanic["fare"])plt.show()情境三:Seaborn数据可视化知识准备3.绘制箱线图importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.boxplot(x="sex",y="age",data=titanic)plt.show()情境三:Seaborn数据可视化知识准备4.绘制热力图importmatplotlib.pyplotaspltimportseabornassns
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疫情防护2025年度企业员工培训与心理咨询合同3篇
- 二零二五年度城市绿化养护劳务分包合同书4篇
- 二零二五年度城市住宅出售协议书(含装修及家具配置)4篇
- 二零二五年锅炉维修工程承包与环保验收协议3篇
- 2024手绘艺术作品拍卖合同协议3篇
- 安徽省二零二五年度住房租赁市场租赁纠纷处理合同
- 2025年护林员劳动合同书(含森林资源保护培训)3篇
- 2025版土地经营权租赁与农业产业扶贫合同3篇
- 二零二五年度高端房产交易意向金协议4篇
- 二零二五年度体育场馆安保人员派遣管理协议3篇
- 消防产品目录(2025年修订本)
- 地方性分异规律下的植被演替课件高三地理二轮专题复习
- 光伏项目风险控制与安全方案
- 9.2提高防护能力教学设计 2024-2025学年统编版道德与法治七年级上册
- 催收培训制度
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理体系 审核与认证机构要求》中文版(机翻)
- 2024年广东省高考地理真题(解析版)
- 2024高考物理广东卷押题模拟含解析
- 人教版五年级上册数学简便计算大全600题及答案
- GB/T 15945-1995电能质量电力系统频率允许偏差
- GB 32311-2015水电解制氢系统能效限定值及能效等级
评论
0/150
提交评论