商务大数据分析导论 课件 项目三 数据采集与整_第1页
商务大数据分析导论 课件 项目三 数据采集与整_第2页
商务大数据分析导论 课件 项目三 数据采集与整_第3页
商务大数据分析导论 课件 项目三 数据采集与整_第4页
商务大数据分析导论 课件 项目三 数据采集与整_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘及其方法目录01.数据挖掘02.数据挖掘技术的演进03.数据挖掘的目的04.数据挖掘的方法05.数据挖掘的基本步骤数据挖掘PARTONE1.1数据挖掘的定义数据挖掘(DataMining)是指通过大量数据集进行分类的自动化过程,以通过数据分析来识别趋势和模式,建立关系来解决业务问题。换句话说,数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。011.2与数据分析的区别数据分析和数据挖掘都是从数据库中发现知识,所以我们称数据分析和数据挖掘叫做数据库中的知识发现。严格来讲,数据挖掘才是真正意义上的数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD)。数据分析是从数据库中通过统计、计算、抽样等相关的方法,获取基于数据表象的知识,数据分析是从数据库里面得到一些表象性的信息。数据分析1.2与数据分析的区别数据挖掘数据挖掘是从数据库中通过机器学习或者是通过数学算法等相关的方法获取深层次的知识(比如属性之间的规律性,或者是预测)的技术。1.3数据挖掘利弊数据挖掘可以应用于任何类型的信息存储库及瞬态数据(如数据流),如数据库、数据仓库、数据集市、事务数据库、空间数据库(如地图等)、工程设计数据(如建筑设计等)、多媒体数据(文本、图像、视频、音频)、网络、数据流、时间序列数据库等1.3数据挖掘利弊数据挖掘所需要的数据集是很大的,只有数据集越大,得到的规律才能越贴近于正确的实际的规律,结果也才越准确。但数据往往都是不完整的。01数据集大且不完整。数据挖掘存在不准确性,主要是由噪声数据造成的,这些不正常的绝对不可能出现的数据,就叫做噪声,它们会导致数据挖掘存在不准确性。02数据的不准确性数据挖掘是模糊的和随机的。这里的模糊可以和不准确性相关联。03数据的模糊性和随机性数据挖掘技术的演进PARTTWO在过去很多年,首要原则模型(first-principlemodels)是科学工程领域最为经典的模型。比如你要想知道某辆车从启动到速度稳定行驶的距离,那么你会先统计从启动到稳定耗费的时间、稳定后的速度、加速度等参数;然后运用牛顿第二定律(或者其他物理学公式)建立模型,最后根据该车多次实验的结果列出方程组从而计算出模型的各个参数。通过该过程,你就相当于学习到了一个知识——某辆车从启动到速度稳定行驶的具体模型。2.1更便捷的开发模型2.1更便捷的开发模型

然而,在数据挖掘的思想中,知识的学习是不需要通过具体问题的专业知识建模。如果之前已经记录下了100辆型号性能相似的车,从启动到速度稳定行驶的距离,那么我就能够对这100个数据求均值,从而得到结果。数据挖掘理论涉及到的面很广,它实际上起源于多个学科。如建模部分主要起源于统计学和机器学习。统计学方法以模型为驱动,常常建立一个能够产生数据的模型。而机器学习则以算法为驱动,让计算机通过执行算法来发现知识。2.2计算机技术的发展2.3预测数据挖掘的真正价值在于能够以数据中的模式和关系的形式挖掘隐藏的宝石,这可以用来做出对企业有重大影响的预测。过去应用于销售模式和客户行为的数据挖掘都可用于创建预测未来销售和行为的模型数据挖掘的目的PARTTHREE数据挖掘的两大基本目的是预测和描述数据,其中前者的计算机建模及实现过程通常被称为监督学习(supervisedlearning),后者的则通常被称为无监督学习(supervisedlearning)。数据挖掘的目的数据挖掘的目的01预测数据对当前数据进行推断,以做出预测。02描述数据描述数据库中数据的一般性质。描述主要包括:聚类——将样本划分为不同类(无预定义类),关联规则发现——发现数据集中不同特征的相关性。这是指找出数据间潜在的关联模式。数据挖掘的方法PARTFOUR数据挖掘的常用方法由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到关注。神经网络方法01基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。遗传算法具有的隐含并行、易于和其它模型结合等性质使得它在数据挖掘中被加以应用。遗传算法02常用于预测模型的算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息。它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。。决策树方法03不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。粗集处理的对象是类似二维关系表的信息表。粗集方法04数据挖掘的常用方法利用覆盖所有正例、排斥所有反例的思想来寻找规则。覆盖正例排斥反例方法05在数据库字段项之间存在两种关系:函数关系和相关关系,对它们的分析可采用统计学方法,即利用统计学原理对数据库中的信息进行分析。统计分析方法06利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。模糊集方法075数据挖掘的基本步骤解读需求评估模型预处理数据搜集数据绝大多数的数据挖掘工程都是针对具体领域的,因此数据挖掘不应该沉浸在自己的算法模型世界里在大型公司,数据搜集大都是从其他业务系统数据库提取。预处理数据可主要分为数据准备和数据归约两部分。其中前者包含了缺失值处理、异常值处理、归一化、平整化、时间序列加权等;而后者主要包含维度归约、值归约、以及案例归约。在不同的模型之间做出选择,找到最优模型解释模型如何针对具体业务情景对模型做出合理解释也是一项非常重要的任务。python数据采集实例目录01.Python爬虫02.从网页获取数据03.使用requests库请求网站04.使用BeautifulSoup解析网页05.清洗和组织数据06.防爬虫机制Python爬虫PARTONEPython爬虫爬虫可以形象的理解为在网络上爬行的一直蜘蛛,将互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。01从网页获取数据PARTTWO以某网站首页()为例,抓取首页首条信息(标题和链接),数据以明文的形式出面在源码中。在网站首页,按快捷键【Ctrl+U】打开源码页面,如图所示。网页一般由三部分组成,分别是HTML(超文本标记语言)、CSS(层叠样式表)和JScript(活动脚本语言)。2.1认识网页结构HTML是整个网页的结构,相当于整个网站的框架。带“<”、“>”符号都属于HTML的标签,并且标签都是成对出现的。常见的HTML标签如下:HTML2.1认识网页结构2.1认识网页结构开始创建你的第一个Web,打开记事本,输入:

2.1认识网页结构输入代码后,保存记事本,然后修改文件名和后缀名为"Web.html"。运行该文件后的效果,如图所示CSS表示样式,图1中第11行<linktype=“text/css”>表示下面引用一个CSS,在CSS中定义了外观CSS2.1认识网页结构JScript表示功能。交互的内容和各种特效都在JScript中,JScript描述了网站中的各种功能。JScript2.1认识网页结构大部分的网站都有一个robots.txt的文档,当然也有部分网站没有设定robots.txt。对于没有设定robots.txt的网站可以通过网络爬虫获取没有口令加密的数据,该网站所有页面数据都可以爬取。如果网站有robots.txt文档,就要判断是否有禁止访客获取的数据。2.1认识网页结构以淘宝为例,在浏览器中访问如图所示。返回代码的意思是禁止爬取任何数据。使用requests库请求网站PARTTHREE3.1安装requests库首先在PyCharm中安装requests库,为此打开PyCharm,单击“文件”菜单,选择“新项目设置”命令,如图

4-4所示。3.1安装requests库

选择“新项目设置”,在弹出的“设置”窗口选择“Python解释器”选项,确认Python解释器与你安装的Python版本一致,如图4-5所示。3.1安装requests库

然后点击标签栏加号,在搜索框输入:requests(注意:一定要输入完整,不然容易出错),然后单击左下角的“安装软件包”。在PyCharm中加载库的操作步骤如本例步骤。如图4-6所示:3.1安装requests库安装完成后,如图4-7所示,提示“已成功安装软件包”,如果安装不成功也会显示提示信息。。3.2爬虫的基本原理Request(请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求。网页请求的过程分为两个环节:3.2爬虫的基本原理GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。POST:相比GET方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。网页请求的方式分为两种:复制任意一条首页首条新闻的标题,在源码页面按【Ctrl+F】组合键调出搜索框,将标题粘贴在搜索框中,按【Enter】键。标题可以在源码中搜索到,请求对象是,请求方式是GET(所有在源码中的数据请求方式都是GET),如图4-8所示。3.3使用GET方式抓取数据确定好请求对象和方式后,在

PyCharm中输入以下代码:加载库使用的语句是

import+库的名字。在上述过程中,加载requests库的语句是:

importrequests用

GET方式获取数据需要调用requests库中的get方法,使用方法是在requests后输入英文点号,如下所示:

requests.get将获取到的数据存到strhtml变量中,代码如下:

strhtml=request.get(url)这个时候strhtml是一个URL对象,它代表整个网页,但此时只需要网页中的源码,下面的语句表示网页源码:

strhtml.text运行结果如图

9所示:3.4使用POST方式抓取数据首先输入有道翻译的网址:/,进入有道翻译页面。按快捷键

F12,进入开发者模式,单击“网络”,此时内容为空,如图4-10所示:

图4-10在有道翻译中输入“我爱中国”,单击“翻译”按钮,如图4-11所示:

在开发者模式中,依次单击“网络”按钮和“XHR”标签,找到翻译数据后预览,如图4-12所示:单击“标头”,发现请求数据的方法为

POST。如图4-13所示:

找到数据所在之处并且明确请求方式之后,接下来开始写爬虫。首先,将

Headers中的URL复制出来,并赋值给url,代码如下:

url=’/translate_o?smartresult=dict&smartresult=rule’POST的请求获取数据的方式不同于GET,POST请求数据必须构建请求头才可以。FormData中的请求参数如图4-14所示:将其复制并构建一个新字典:接下来使用

requests.post方法请求表单数据,代码如下:

将字符串格式的数据转换成

JSON格式数据,并根据数据结构,提取数据,并将翻译结果打印出来,代码如下:使用

requests.post方法抓取有道翻译结果的完整代码如下:使用BeautifulSoup解析网页PARTFOUR通过requests库已经可以抓到网页源码,接下来要从源码中找到并提取数据。BeautifulSoup库在python中主要的功能是从网页中抓取数据。BeautifulSoup目前已经被移植到bs4库中,也就是说在导入BeautifulSoup时需要先安装bs4库。安装

bs4库的方式如图4-15所示:

安装好

bs4库以后,还需安装lxml库。如果不安装lxml库,就会使用Python默认的解析器。尽管BeautifulSoup既支持Python标准库中的HTML解析器,又支持一些第三方解析器,但是

lxml库具有功能更加强大、速度更快的特点,因此推荐安装lxml库。安装

Python第三方库后,输入下面的代码,即可开启BeautifulSoup之旅。代码运行结果如图4-16所示。BeautifulSoup库能够轻松解析网页信息,它被集成在bs4库中,需要时可以从bs4库中调用。其表达语句如下:frombs4importBeautifulSoup首先,HTML文档将被转换成Unicode编码格式,然后BeautifulSoup选择最合适的解析器来解析这段文档,此处指定lxml解析器进行解析。解析后便将复杂的HTML文档转换成树形结构,并且每个节点都是Python对象。这里将解析后的文档存储到新建的变量soup中,代码如下:使用BeautifulSoup解析网页接下来用

select(选择器)定位数据,定位数据时需要使用浏览器的开发者模式,使用鼠标右键,在快捷菜单中选择“检查”命令,如图4-17所示:随后在浏览器右侧会弹出开发者界面,右侧高亮的代码对应着左侧高亮的数据文本。右击右侧高亮数据,在弹出的快捷菜单中选择“复制”➙“复制selector”,便可以自动复制路径。代码如下:

#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li:nth-child(5)>a由于这条路径是选中的任意头条标题的路径,而我们需要获取所有的头条新闻,因此将“li:nth-child(5)”中冒号(包含冒号)后面的部分删掉,代码如下:

#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a使用

soup.select引用这个路径,代码如下:

data=soup.select('#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a')清洗和组织数据PARTFive至此,获得了一段目标的HTML代码,但还没有把数据提取出来,接下来在PyCharm中输入以下代码:代码运行结果如图4-18所示:首先明确要提取的数据是标题和链接,标题在<a>标签中,提取标签的正文用get_text()方法。链接在<a>标签的href属性中,提取标签中的href属性用get()方法,在括号中指定要提取的属性数据,即get('href')。从图4-18中可以发现,文章的链接中有一个数字ID。下面用正则表达式提取这个ID。需要使用的正则符号如下:\d匹配数字+匹配前一个字符1次或多次在Python中调用正则表达式时使用re库,这个库不用安装,可以直接调用。在PyCharm中输入以下代码::运行结果如图4-19所示:防爬虫机制PARTsix爬虫是模拟人的浏览访问行为,进行数据的批量抓取。当抓取的数据量逐渐增大时,会给被访问的服务器造成很大的压力,甚至有可能崩溃。换句话就是说,服务器是不喜欢有人抓取自己的数据的。那么,网站方面就会针对这些爬虫者,采取一些反爬策略。因此,不是所有的爬虫都有效,合规的有效获取数据的方法是必须的遵循。防爬虫机制八爪鱼数据采集实例目录01.八爪鱼采集器在电商行业应用案例02.从网页获取数据03.客户端界面介绍八爪鱼采集器在电商行业应用案例PARTONE1.1价格监控采集各大电商网站和渠道的商品价格,对挂牌价和到手价建立分钟级监控,并根据设置实时推送预警消息,帮助企业及时掌握分销渠道经营情况与市场竞争情况。应用于某酒类电商平台:帮助客户采集各大酒类电商平台数据,定时获取众多SKU的价格与销售数据(包括挂牌价与到手价),以监控各渠道价格,保障渠道价格稳定。帮助客户稳定电商渠道价格,及时发现竞品平台的价格调动,及时跟进调价策略。011.2数据选品采集各平台产品销量,销售额,sku数量等信息,进行市场大盘分析、竞品分析、自身优劣势分析等,以找到爆款商品,进行选品决策。应用于某跨境电商平台:

帮助客户采集Amazon平台上多个国家地区的商品数据,包括A+、buybox、商品详情、review评论、问答QA、搜索listrank、bestseller、等类型数据。

基于商品数据进行市场大盘分析、竞品分析、自身优劣势分析,帮助业务团队更好的选品,成为整个公司跨境运营的情报中心。021.3品牌维权采集监控全网电商平台上品牌相关的产品链接和店铺链接数据,帮助品牌进行控价打假、渠道管理和知识产权维护,以打击违规链接/店铺,消除假货、窜货等隐患。应用于某3C品牌:实时获取国内所有电商平台上各个分销商店铺的商品价格数据。通过智能算法,识别各种促销策略,精准对比挂牌价和到手价,对超出正常范围的价格进行预警与取证并及时做出调整策略,避免渠道乱价。031.4体验管理采集电商平台的商品评价、在线聊天等数据,从中洞察消费者行为和喜好,提炼问题和机会,进而帮助产品、市场和服务部门优化客户体验,提升客户满意度。应用于某智能家电品牌:针对扫地机、吸尘器、等多条产品线建立多套分析模型,接入所有电商平台本品及竞品用户评论数据实时对比分析。根据分析结果,制定策略加以改善。建立产品、服务、市场等方面的指标体系,帮助产品研发、企划、推广、运营等部门以客户评价为导向、为各部门决策提供数据支持。04下载安装八爪鱼Windows客户端PARTTWO

访问

/download/windows,下载八爪鱼采集器安装文件

关闭所有杀毒软件

双击.exe文件,开始安装

安装完成后,在开始菜单或桌面上找到八爪鱼采集器快捷方式

启动八爪鱼采集器,使用您的账号登录(免费注册,获得登录账号)客户端界面介绍PARTTHREE安装完成后,进入八爪鱼客户端,如图4-21所示:3.1八爪鱼常用数据采集方法01.使用“智能识别”采集数据02.自己动手配置采集流程03.使用模板采集数据3.1.1使用“智能识别”采集数据

智能识别:只需输入网址,自动智能识别网页数据。支持自动识别列表型网页数据、滚动和翻页。我们来看一个智能识别的示例,示例网址:/category_3.shtml3.1.1使用“智能识别”采集数据在首页输入框中,输入目标网址,点击【开始采集】。八爪鱼自动打开网页并开始智能识别。打开网页后,默认开启智能识别。识别过程中,随时可【取消识别】或【不再智能识别】,取消或关闭本次智能识别,可点击【自动识别网页】再次启动。也可在全局设置中,再次默认开启【智能识别】。3.1.1使用“智能识别”采集数据3.1.1使用“智能识别”采集数据智能识别成功,一个网页可能有多组数据,八爪鱼会将所有数据识别出来,然后智能推荐最常用的那组。如果推荐的不是想要的,可自行【切换识别结果】。3.1.1使用“智能识别”采集数据同时,可自动识别出网页的滚动和翻页。此示例网址,无需滚动,只需翻页,故只识别并勾选【翻页采集】。自动识别完成后,点击【生成采集设置】,可自动生成相应的采集流程,方便用户编辑修改。然后,点击【采集】,选择【启动本地采集】,八爪鱼就会开始全自动采集数据。3.1.1使用“智能识别”采集数据3.1.1使用“智能识别”采集数据采集完成后,以所需的方式导出数据即可。需要注意的是,目前自动识别,仅支持识别列表型网页、滚动和翻页。如果不是列表型网页,或者有更高级的采集需求,请自行配置采集任务。3.1.2自己动手配置采集流程什么是采集流程?采集流程(或叫采集任务,采集规则)是从特定网页上抓取数据的指令。每个网站的页面布局是不同的,因此采集流程不能通用。一般情况下,一个网站需要配置一个采集流程。如图4-25所示:3.1.2自己动手配置采集流程现在有一个京东商品详情页的网页:/848851.html。网页上有很多字段:文本(标题、价格等)、图片(商品图片)、链接(详情的超链接)。3.1.2自己动手配置采集流程我们想将上述网页上非结构化的文本、图片、超链接等字段采集下来,保存为excel等结构化的数据,如下表所示:3.1.2自己动手配置采集流程创建一个新任务:点击左侧【+】新建,选择【自定义任务】,创建新任务,默认任务名称。3.1.2自己动手配置采集流程手动输入网址/848851.html,点击保存设置。3.1.2自己动手配置采集流程选择要采集的数据观察网页上有很多字段:文本(标题、价格等)、图片(商品图片)、链接(详情的超链接)。鼠标移动到想要的字段上,点击将其选中。选中后,会用绿色框框起来。同时,左上角会弹出一个操作提示框。选中的字段不同,操作提示框中的指令也不同。如果选中的是文本,选择【采集该元素的文本】。如果选中的是图片,选择【采集该图片地址】。如果选中的是链接,选择【采集该链接的文本】或【采集该链接地址】。3.1.2自己动手配置采集流程完成采集项目后在采集流程视图中点击应用。3.1.2自己动手配置采集流程编辑字段在当前页面数据预览中,可查看到我们提取的所有字段,可以对这些字段进行修改、删除字段名称,移动字段顺序等操作。数据预览中默认是【横向字段布局】,方便查看所采集到数据。你也可以切换到【纵向字段布局】,方便进行字段的修改,比如批量删除、复制字段,导入、导出字段配置,格式化,修改字段XPath。获取数据并导出根据已经配置好了一个采集任务。接下来让任务自动运行。点击【保存并采集】,选择【启动本地采集】,启动后开始全自动采集数据。【本地采集】是使用自己的电脑进行采集,【云采集】是使用八爪鱼提供的云服务器采集。采集完成后,根据需要的类型的导出数据。支持导出为数据的类型为Excel、CSV、HTML,这里导出为Excel。3.1.3使用模板采集数据采集模板是由八爪鱼官方提供的、做好的采集模板,目前已有200多个采集模板,涵盖大部分网站的采集场景。使用模板采集数据时,只需输入几个参数(网址、关键词、页数等),就能快速获取到目标网站数据。类似使用PPT模板,只需修改关键信息就能直接使用,无需自己从头配置。3.1.3使用模板采集数据如何找到所需的【采集模板】在客户端首页【输入框】中,输入目标网站名称,自动寻找相关的采集模板。将鼠标移到需要的模板上并单击,进入模板详情页面。注意,请确保输入的网站名称正确,否则可能无法查找到相关模板。3.1.3使用模板采集数据例如,采集京东商品评论数据,使用软件自带模板。点击京东商品评论图标,确认使用。3.1.3使用模板采集数据该模板采集数据要配置参数,如图4-33所示,在输入网址中,需要将要采集商品页的网址填入其中,因京东商品评价只显示前100页,一次翻页次数为100。比如要采集华为HUAWEIP40手机的商品评价数据,网址输入/100007299145.html,翻页次数为100,点击保存并启动。3.1.3使用模板采集数据通过【采集模板】创建并保存的任务,会放在【我的任务】中。在【我的任务】界面,可以对任务进行多种操作并查看任务采集到的历史数据。PowerBI数据采集实例目录01.提取第一页数据02.创建批量获取数据的自定义函数03.创建参数列表03.批量提取多个网页数据提取第一页数据PARTONE1提取第一页数据打开PowerBI,点击“获取数据”弹出窗口中的“Web”,在Web的地址URL中输入网址/top250,点击确定。如图4-35所示:1提取第一页数据在弹出的导航器,并不能看到图书的列表数据或者采集的数据不是我们想要的格式。在这里有个功能非常好用,就是“使用示例添加表”,如图4-36所示:1提取第一页数据

“使用示例添加表”这个功能的含义:只要输人前面几个数据,系统会自动识别所要提取的数据类别,并自动将网页中的剩余同类数据填充进来;但如果输人的数据没有规律,或者不是该网页中存在的数据,系统将无法识别。

下面介绍如何使用该功能。单击左下角的“使用示例添加表”,在弹出的窗口中,上方是网页预览,把需要提取的数据的前两个输人到下方的窗口中,例如输人前两本图书的名字,系统会自动将该页中的同类数据填充完成。如图4-37:011提取第一页数据这样就把第1页中的25本图书名称提取出来了。1提取第一页数据然后单击右上角“+”新增一列,依次类推,按照上述方式提取作者、出版社、出版时间、价格、评分、链接等相关信息。因为第一列图书名称已经确定,后面的列只要输入第一单元格,每本图书的同类数据会完成自动填充。由于网页数据并不都是结构化数据,有些数据是混杂在一起的,比如列2数据中就有作者、出版社社、定价等信息。1提取第一页数据数据提取完之后,导航器会创建一个新表。接下来,我们要对表进行整理,在PowerBI选项卡点击“转换数据”,进入PowerQuery对数据进行清洗,整理后的数据表如4-39所示。创建批量获取数据的自定义函数PARTTWO2创建批量获取数据的自定义函数以上的步骤只是完成了第一页25本书的数据采集,我们需要全部250本书的采集,需要使用PowerQuery的M函数来实现。将已经整理好的25条数据命名该查询为“Top25基本信息”,现在右键单击该查询名,选择“创建函数”。如图4-40:2创建批量获取数据的自定义函数弹出的窗口中会提示“未找到参数”,单击“创建”按钮,并输入函数名,将这个函数命名为“bookinfo”。然后在编辑栏中手动更改代码,将前两行代码更改如下:此代码的意思是将网址分为两个部分,比如第1页的网址:2创建批量获取数据的自定义函数/top250?start=0中的“https://book/top250?start”作为常量文本保持不变,而最后一个数字,设置为参数x,二者组合到一起作为一个完整的网址,然后只需要将不同的数字赋给x,就可以提取相应页面的数据。其中(xastext)表示该自定义函数的参数为x,参数类型为text创建好的自定义函数,此时在窗口出现了一个输入参数的框,表示该自定义函数就创建完成。如图4-41所示:2创建批量获取数据的自定义函数输入参数值25,单击“调用”,输出结果是网页中第2页的图书信息。创建参数列表PARTTHREE通过网址的分析,发现这10个页面网址最后一个数字为0、25、50…225构建了一个差值为25的等差数列,以此规律来自定义函数的参数。在PowerQuery中,单击“新建源”选择“空查询”选项。如图4-43所示:

在编辑栏输入:=List.Numbers(0,10,25),即可得到一个参数列表。其中List.Numbers是一个M函数,用于生成一个数列,第一个参数是初始值,第二个参数为生成数据的行数,第三个参数为数据步长(如果忽略,默认为1),注意,参数设置与要采集的网页页数要一致。List.Numbers(0,10,25)意思是从0开始,后续的数字步长25,生成10行,如图4-44所示。批量提取多个网页数据PARTFORE

在上面生成的参数列表中,单击“调用自定义函数”,在弹出的窗口中,选择已经建立好的自定义函数,参数选择上一步建好的表,如图4-45所示。4批量提取多个网页数据点击确定后,在当前表新增一个单元格都是“Table”列,点击该列标签右侧向左向右的箭头,展开新生成的自定义列,即可得到全部的10页Top250的图书数据,完成了数据批量获取,关闭并应用,数据自动更新到PowerBI中。最终数据采集结果如图4-46所示。数据整理实例目录01.数据质量准则02.清洗数据基本要求03.从Excel到Python数据整理实例数据质量准则PARTONE数据质量准则单条数据是否存在空值,统计的字段是否完善。完整性01观察某一列的全部数值全面性02数据的类型、内容、大小的合法性。合法性03数据是否存在重复记录,因为数据通常来自不同的渠道汇总,重复的情况是常见的唯一性04清洗数据基本要求PARTTWO数据质量准则主要问题:缺失值。针对缺失值的处理,基本的操作是删除或者填充等。完整性01在有的数据中,计量尺度存在差异。全面性02有很多一般性指标都会存在上限的问题,要符合正常逻辑,因此,要进行删除或者填充处理。。合理性03数据重复会干扰分析结果,数据清洗要确定没有重复计数的情况。唯一性04从Excel到Python数据整理实例PARTTWO

本实例演示数据是通过采集工具从京东商城搜索关键词“运动鞋”采集的实时数据集。如图4-47所示:3.1缺失数据处理

采集的数据集由于某些原因可能会有缺失,一般有两种处理方式,一是删除,即把含有缺失值的数据删除;另一种是填充,即把缺失的那部分数据根据上下文用某个值代替。具体步骤我们分别用Excel和Python进行演示,便于大家比较学习。3.1.1Excel实现在Excel中查找数据集空单元格快捷方式是【Ctrl+G】,在弹出的对话框中选择“空值”,确定就会把所有的空值选中。如图所示:【Ctrl+A】选中表格中要查找空值的单元格区域【Ctrl+G】,选择“空值”项后确定最后通过定位条件把空值筛选出来空值筛选出来以后可以采取删除或填充处理在Excel中删除空值的操作通过【Ctrl+G】快捷键方式可以将全部空值查找出来并全部选定,然后单击鼠标右键“删除”选项,在弹出的对话框中选择相应的删除操作。3.1.2Python实现在Python中直接调用info()方法就会返回每一列的缺失情况。导入4-47所示数,结果如图4-49所示:3.1.2Python实现调用info()检查数据缺失情况,结果图4-50所示:3.1.2Python实现Python中缺失值一般用NaN不是,从用info()查找缺失值结果来看,“标签”列有1835个非null值,而其他列都是2010个非null值,说明这一列有175个null值。1)使用dropna()函数删除空值操作。函数形式:dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)参数设置:axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。how:筛选方式。‘any’,表示该行/列只要有一个以上的空值,就删除该行/列;‘all’,表示该行/列全部都为空值,就删除该行/列。thresh:非空元素最低数量。int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。subset:子集。列表,元素为行或者列的索引。如果axis=0或者‘index’,subset中元素为列的索引;如果axis=1或者‘column’,subset中元素为行的索引。由subset限制的子区域,是判断是否删除该行/列的条件判断区域。inplace:是否原地替换。布尔值,默认为Fals

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论