《Python语言》课件 第13章 项目实战:数据分析.pdf
《《Python语言》课件 第13章 项目实战:数据分析.pdf》由会员分享,可在线阅读,更多相关《《Python语言》课件 第13章 项目实战:数据分析.pdf(50页珍藏版)》请在咨信网上搜索。
1、Python语言大数据应用人才培养系列教材第十三章 项目实战:数据分析13.1数据清洗13.2 数据存储13.3 NumPy13.4 案例剖析13.1数据清洗第十三章 项目实战:数据分析简介大数据时代,数据便是掘金的黄金地带。企业大量的历史数据能 否发挥其应有的价值,取决于企业采用什么样的分析手段,去发掘数 据本身所蕴含的规律。数据分析人次炙手可热,已成为大数据时代企 业争抢的焦点。本章,将以Python技术为基础,通过实际案例的讲解 来使大家对数据分析的流程达到定性的认识。同时,通过课程实验,提高大家的动手能力,为使大家成为数据分析人才做好启蒙教育。13.1数据清洗第十三章 项目实战:数据分
2、析编码问题通常,源数据分布在不同的业务流程之中。而不同的业务流程中对数 据的要求、理解和规格各不相同。导致对同一数据对象的描述千差万别。因 此,在清洗数据的过程中,首先要对数据的编码格式做统一要求。对于数据项的约定可从以下几个方面进行:命名规则:对于同一数据对象,其名称应当是唯一的。比如页面访 问量这个字段,可能称作访问深度、分为PV数、页面浏览量等。数据类型:同一个数据对象的类型必须一致,而且表示方法唯一,如普通日期和时间戳的区分。计数方法:对于数值类型的数据,单位务必统一。如:重量单位,千克、公斤、克、斤等,在数据表中必须用唯一单位。约束条件:数据表之间的关系约定不能产生二义性。比如:表的
3、主 键、唯一性、外键约束等。13.1数据清洗第十三章 项目实战:数据分析缺失值分析数据的缺失,主要包括记录的缺失和记录中某各字段信息的缺失。两者 都会造成最终分析结果的不准确。下面,从缺失值产生的原因及处理方法进 行介绍。1产生原因缺失值产生的原因主要包括三大类,具体如下:出于信息安全的需求。由于某种原因无法获取,或者获取成本过高。人为的信息遗漏。可能是由于个人主观认识不到位,导致的因人为因 素产生的遗漏。也可能是由于数据获取设备的故障所引起的非人为原因产生 的丢失。字段值的缺失。某些情况下,缺失值不一定意味者着数据的错误。比 如儿童的手机号码、个人收入等字段值。2数据值的缺失,通常会给数据分
4、析带来如下影响:数据挖掘建模将丢失大量的有用信息。13.1数据清洗第十三章 项目实战:数据分析缺失值分析数据挖掘模型表现出来的不确定性更加显著,数据背后蕴含的规律更难发掘。字段的空值会导致数据分析过程陷入混乱,致使分析产生不可靠的结果。3应对策略生活中我们所采集到的数据常错综复杂,其值的缺失也是很常见。那么我们该 如何处理这些缺失值呢?常用的有三大类方法,即删除法、填补法和插值法。删除法:当数据中的某个变量大部分值都是缺失值,可以考虑删除改变量;当缺失值是随机分布的,且缺失的数量并不是很多是,也可以删除这些缺失的观测 替补法:对于连续型变量,如果变量的分布近似或就是正态分布的话,可以 用均值替
5、代那些缺失值;如果变量是有偏的,可以使用中位数来代替那些缺失值;对于离散型变量,我们一般用众数去替换那些存在缺失的观测。插补法:插补法是基于蒙特卡洛模拟法,结合线性模型、广义线性模型、决 策树等方法计算出来的预测值替换缺失值。13.1数据清洗第十三章 项目实战:数据分析去除异常值异常值,是指数据样本中的个别值,其数值明显偏离对应字段的所有观察值。异常值又称离群点。异常值的分析是检验数据集中是否存在录入错误以及不合常理 的数据。去除异常值的方法主要包括:统计分析法通常对变量的取值做一个简单的量化统计,尤其是数值型字段。进而查看那些 取值超出合法取值范围。最常用的统计方法是求最大值、平均值、最小值
6、。用最4 值和最大值确定正常取值范围。用平均值替代空白字段值,将超出合理取值的记身 剔除采样数据。比如:个人信息中的年龄字段取值超过15。就属于异常取值,可考 虑用平均取值替代。3 b分析法通常,如果数据服从正态分布,在3b思想的指导下,异常值被认定为与平均值 偏差超过3倍标准差的数值。因为,在正态分布下,距离大于3倍标准差的数值的杷 率小与等于。.。3,属于小概率事件。相反,若数据字段值不服从正态分布,可用 远离平均值多少倍标准差约定异常数值。13.1数据清洗第十三章 项目实战:数据分析去除重复值与冗余信息由于各种各样的原因,在获取的数据源中,经常存在重复的字段、重复的记录 以及获取了与分析
7、主题无关的数据项。这时,为了提高数据的质量,我们需要对潴 数据做去重处理和冗余处理。对于重复数据的处理,我们通常采用的方法是排序合并。具体做法是:现 将数据库表中的记录按照指定的规则排序,然后通过比较邻近记录是否相似来检派 记录是否有重复。这项工作包括排序和相似度计算两个步骤。常用的排序方法有:插入排序、冒泡排序、快速排序、希尔排序等。常用的相似度计算方法有:基本骷 字段匹配算法、标准的欧氏距离法、相关系数、信息嫡等。另外,需要注意的是,对重复的数据项,尽量通过具体分析主题确定相关提取 规则。在数据清洗阶段,对重复的数据切勿轻易的进行删除。尤其是不能将与分析 主题相关的重要业务数据过滤掉。对于
8、与分析主题无关的数据项,也即我们通常说的冗余信息,同样,也不可直 接剔除出数据源。而需要根据制定的提取规则通过子表的形式,生成新的和分析拄 题相关的数据表。大数据应用人才培养系列教材第十一章 项目实战:爬虫程序11.1数据清洗11.2数据存储11.3 NumPy11.4案例剖析13.2数据存储第十三章 项目实战:数据分析CSV文件存取数据存取是数据分析的基础,尤其是面对海量数据,数据的存取方式显 得尤为重要。本节,以Pandas库对象为基础重点介绍python数据分析中常见 的几种数据存取方法。CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式。通常,数据库的
9、转存文件就是CSV格式的,文件中的各个字段对应于数据库 表中的列。在Pandas中我们可以使用read_csv()函数将.csv数据读入程序。比如,读取学生成绩数据,首先创建一个stuscore.csv文件,然后使用 pandas对象的read_csv()函数读取并显示数据。13.2数据存储第十三章 项目实战:数据分析CSV文件存取first,py234mport pa nda s pd(import nuipy a ada tza(print:da ta)pd-r-ea d_csv(./stuscore-gsv*)*REPL*python0 rl 2 3 451 2,3,45,6 7,d 0
10、*0 乙 2*8 0 8 7 6 8 6 7 9d 9,1 00,8 1 1,9 8 7 8 7 8 97 8 19 0 0 78 8 9 8 8 8 9Repl Cl osed*13.2数据存储第十三章 项目实战:数据分析CSV文件存取 import pandas as pd import numpy as np import matplotlib.pyplot as pit names=张=李四土方?,赵六郭七 ages=20,19,23,18,19 DataSet=list(zip(names,ages)DataSetK张三,20),(,李四,,19),(王五23),(,赵六,,18),
11、C郭七)19)df=pd.Data Fra me(data=DataSet,columns=Name/Age)df#输;l;pandas*j象创建的数据表Name Age0张三201李四192王五233赵六184 郭七 19 df.to csvC./info.csvJndex=False,header=False)#将生成的数据df写入info.cvs#然后,读取info.csv文件,用于验证info.csv文件创建成功,示例代码如下:data=pd.read_csv(./info.csv)#读取info.csv中的数据以验证写入成功 print(data)0旅三201239 3 8 9 12
12、 11 四五六七 到王理郭13.2数据存储第十三章 项目实战:数据分析JSON文件的存取JavaScript Object Notation简称Json是一种与平台无关的数据格式,被 广泛的用于应用或系统间的数据交换。Pandas提供的read_json()函数,可以 用来创建pandas Series或者pandas Data Fra me数据结构。同时,pandas也提 供了to_json()函数用以完成数据框或序列到json格式的转换。关于pandas对 json数据的存取比较简单,这里通过一个简单的示例来说明两者之间的转换 关系。13.2数据存储第十三章 项目实战:数据分析JSON文件
13、的存取.0 0 1.py x1 import pandas as pd 2 的定义Json字符串 3 son_str=name:Bil l”,“LOuiTtry“:“Netherl a nds 4 岳读取j son字符串5 data=pd.rea d_j son(j son_sTr,typ=series)6 悌俞出pandas读取白勺j son值7 print(da ta)_ 8 j#定义pandas序歹I 9 ida ta”name“2co【rYtry=Lil y,“Bra zil”10#将序列数据写入j son并输出11 print(da ta.toj son()12 了*REPL*pyt
14、hon x.name Bil lcountry Netherl andsdtzype:objectname*:Lil y,country:-Bra zil*)+:+*Repl Cl osed*13.2数据存储第十三章 项目实战:数据分析XLSX文件的存取使用pandas读取Excel电子表格中的数据,需借助第三方库xlrd完成 Excel表数据的读写操作。用read_excel()函数完成Excel电子表格中数据的读 取,用to_excel()函数完成数据pandas DataFrame中的数据写入Excel。为了完成Excel电子表格中数据的存取,我们先来完成Python第三方库 openp
15、yxL xlsxwriter、xlrd、的安装。这里,还是使用pip install命令完成。示例Excel数据图13.6:1234567me三四五六七 na张李王赵郭A B C Dclassscore三一班r 37oj三二班5oo|三三班r 6ooj三二班580|三三班70 0|13.2数据存储第十三章 项目实战:数据分析XLSX文件的存取首先,我们用pandas的数据框来创建如图4.6的Excel数据表,然后,将 创建的Excel表的数据输出。import pandas as pd”df_out=pd.DataFrame(C张三;三一班;370)(李四;三二班,500),(王五;三三 班,
16、600),(赵六;三二班;580)(郭七;三三班,70 0),columns=name;class;score*dfout.to_excel(stu sc ore.xl sx*)#生成 excel 文件/pd.r ead_excel(st us co re.x 1 sx()磅取 excel 文件/name classscores10张三三一班3721李四三二班50(k12王五三三班dOCk13赵六三二班58g4郭七三三班70013.2数据存储第十三章 项目实战:数据分析XLSX文件的存取df_out写入的excel文件通常位于Python的安装目录下,如下图所示:python.exe pyth
17、on3.dll国 python36.dll7 pythonw.exe 里 stuscore.xlsx2018/3/28星期.2018/3/28星期2018/3/28星期2018/3/28星期.2018/6/10星期一13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存取大数据时代,海量的数据通常是保存在指定的数据库中,MySQL作为一 种开源的关系型数据库,收到中小企业的青睐。本节,我们将以MySQL数据 为对象,讲解Pandas对象是如何对其数据进行存取的。同样,我们以学生成 绩单为例,MySQL数据源示例。售理员C:WIZDOWSsystem32cmd.exe-mysql-
18、u root-p|mysql use stxx Data.ba.se changed mysq.l sKow ta bl a s:+|T a.bl es_ixt_s ti|-+|scoresT-41 row irt set(0.00 sec)mysq.l sel ect*from scores;+|name|cl a.ss|scoir e轴K二二二二-一二二一-vr-wIIJ.IIJ.IIJ.-OOOOO 70080 356576 rows in set(0.08 sec)knysql sel ect*from scores;13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存
19、取尝试第三方库mysql.connector.python的安装。同样,我们采用pip install 命令完成。在DOS下输入如下命令:pip install mysql.connector.pythonD:pip install mysql-connector-pythonCollecting mysql-connector-pythonDownloading https:/iles.pythonhosted.org/packages/LO/38/7c7c8acOe791c40a54bObe95a63cB43:9cB40/mysql connector_python-Q.0.11 _cp3
20、6_cp36m-win amd64.whl(.3.0MB)100%I 3.0MB 200kB/sCollecting protobu=3.0.0(from mysqlconnector-python)D ownl o adi ng https:/il e s.pythonho sted.org/p ack age s/32/c/6945106 da76 db9b62 dll b429 aa4 e06281 3200e/protobu3.5.2.pos11-cp36-cp36in-win amd64.whl(958kB)100%962kB 182kB/sRequirement already s
21、atisfied:setuptools in d:pythonlibsite-packages(from protoBu=3.0.(hon)(39.0.1)Requirement already satisfied:six=l.9 in d:pythonlibsite-packages(from protoBu=3.0.0_:n)(1.11.0)Installing collected packages:protobu mysql-connector-pythonSuccessfully installed mysql-connector-python-Q.0.11 protoBu-3.5.2
22、.postl13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存取导入mysqLconnnector库,判断其是否能正常工作。一 import mysql.connec tor as m”ms._version80 1 1 3OK!太好了,能够正常显示MySQL的版本号!应该可以正常工作!T GO ON!cnx=ms.connect(4J user=root,+J passvord=1 234 5 6 3 host=1 27.0.0.database=st u A cursor=cnx.cursorQ-1 cursor.execute(H select*from scores*
23、X1 result=cursor.fetchallO-1 printCresult)(张三三一班,370),(李四】三二班,500),(王五:三三班,600),(赵六】三二 班;580),(郭七】三三班1700)卜 T13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存取为了完成pandas数据框中的数据写入MySQL的任务,首先需要安装支撑这一任务的链接器第三方Python库sqlalchemy。依旧使用pipinstall命令完成安装。国 5ystem32cmd.exe X96%96%97K.97%97%97A:.97%既用 98.98%98%98%98%yyfc yy%9
24、9%9守笳 口,叫 loo%B 2.OMB/sInstalling collected packages:sqlalchemyRunning setup,py install for sqlalchemy.done Sue cess fully installed sqlalchemy_1.2.85555555555555555554MB 4MB 5MB 5MB 5MB 5MB SMB 5MB FiJiTJi 5MB 5MB SMB6MB 6MB SMB;.6M13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存取 import pandas as pd。,import pym
25、ysqlu from sqlalchemy import create_engineconn=create_engme(,mysql-mysqldb:/root:1 23456localhost:330 6 stu?charset=utf df=pd.DataF【ame(hameT丁一;丁二;丁三IclassT班;二二班;三三班l,s core:60 0,70 0,660 df.to_sql(name=scores;con=conn:ifexists=appendindex=False,index_lab el=False13.2数据存储第十三章 项目实战:数据分析MySQL数据库文件的存取然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python语言 Python语言课件 第13章 项目实战:数据分析 Python 语言 课件 13 项目 实战 数据 分析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。