大数据治理(高级) 课件全套 西财 第1篇:概论篇-实训项目11交通大数据分析实训_第1页
大数据治理(高级) 课件全套 西财 第1篇:概论篇-实训项目11交通大数据分析实训_第2页
大数据治理(高级) 课件全套 西财 第1篇:概论篇-实训项目11交通大数据分析实训_第3页
大数据治理(高级) 课件全套 西财 第1篇:概论篇-实训项目11交通大数据分析实训_第4页
大数据治理(高级) 课件全套 西财 第1篇:概论篇-实训项目11交通大数据分析实训_第5页
已阅读5页,还剩426页未读 继续免费阅读

下载本文档

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

文档简介

第1章大数据治理概论1大数据治理背景1大数据治理相关概念2大数据治理的框架3大数据治理的原则4大数据治理的方法5目录学习目标掌握大数据治理的概念掌握大数据治理的框架掌握大数据治理的主要方法3政府需求岷山集团需求数据治理背景1.1数据爆炸式增长管理深度信息化:企业建设信息化系统来提高管理效率、降低管理成本。各式各样的企业信息化管理系统,例如:客户关系管理系统、核算系统、预算系统、供应商管理系统、金税系统、报表系统、销售系统、采购系统等。如此繁多的信息化管理系统,会导致数据量日益剧增,如何组织、管理、应用爆炸式增加数据成为了关注的焦点。拥抱转型、业务创新:以信息技术为代表的技术革命从根本上改变着我们的社会经济生活。社会形态已由工业社会发展为信息社会,传统的农业经济、工业经济正在被知识经济逐渐取代。在新境界的浪潮中,企业面临的竞争环境也发生了巨大变化,促使企业尽快进行发展模式、管理模式、商业模式的升级转型。技术创新与发展:随着大数据时代的发展,技术不断更新迭代,数据处理速度也在不断的提升。主要技术内容包括:数据采集技术、数据清洗技术、数据安全技术、数据建模技术、数据加速计算技术、元数据管理技术、数据生命周期管理技术。数据资产价值驱动:数据是一种未经加工的原始资料,是对客观事物的逻辑归纳。用符号、字母等方式对客观事物进行直观描述。数据经过解释并赋予一定的意义之后,便成为了信息;数据是一种资产,对于组织具有价值,因此需要妥善保护、利用,从而为企业带来经济利益的流入。数据资产是有企业拥有和控制。能够为企业带来未来经济利益的信息资源。具有以下基本特性:共享性、增值性、实效性、低安全性。其价值主要体现在以下几方面。数据资产是一种企业生产经营活动的经济资源;数据资产是支持企业发展战略的重要资源;数据资产是现代化企业最大的价值来源。政府需求岷山集团需求大数据治理相关概念1.2大数据咨询公司Gartner认为:大数据是指需要借助新的处理模式才能拥有更强的决策力、洞察发现力和流程优化能力的具有海量、多样化和高增长率等特点的信息资产。麦肯锡认为:大数据是指在一定时间内无法用传统数据库软件工具采集、存储、管理和分析其内容的数据集合。国际数据公司IDC认为:大数据一般会涉及两种或两种以上的数据形式。它要收集超过100TB的数据,并且是高速、实时的数据流,或者是从小数据开始,但数据量每年会增长60%以上。维基百科的定义是:大数据指的是需要处理的资料量规模巨大,无法在合理时间内,通过当前主流的软件工具撷取、管理、处理并整理的资料,它成为帮助企业经营决策的资讯。特性:4V,体量(Volume)、速度(Velocity)、多样性(Variety)、价值(Value)。政府需求岷山集团需求大数据治理相关概念1.2大数据治理IBM认为,数据治理是根据企业的数据管控政策,利用组织人员、流程和技术的相互协作,使企业能将“数据作为资产”(dataasenterpriseasset)来管理和应用。根据伯森(Berson)和杜波夫(Dubov)的定义,数据治理是一个关注于管理信息的质量(Quality)、一致性(Consistency)、可用性(Usability)、安全性(Security)和可得性(Availability)的过程。这个过程与数据的拥有(Ownership)和管理职责(Stewardship)紧密相关。国际数据管理协会(DAMA)给出的定义:数据治理是对数据资产管理行使权力和控制的活动集合(规划、监控和执行)。ReneAbraham等在2019年发表的论文中提出:大数据治理是一个跨功能框架,把数据作为组织、企业或者国家的战略资产进行管理。综合上述定义,可以认为,大数据治理,是把大数据作为组织、企业或者国家的战略资产进行管理,以及在管理流程中进行分析、控制和决策的活动集合。政府需求岷山集团需求大数据治理相关概念1.2数据仓库数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。数据仓库是以关系数据库、并行处理和分布式技术为基础的信息新技术。特点:面向主题:数据仓库围绕一些重要主题,如顾客、供应商、产品和销售组织。数据仓库关注决策者的数据建模与分析,不是单位的日常操作和事务处理。因此,数据仓库通常排除对于决策无用的数据,提供特定主题的简明视图。集成:通常,构造数据仓库是将多个异构数据源,如关系数据库、一般文件和联机事务处理记录集成在一起。使用数据清理和数据集成技术,确保命名约定、编码结构、属性度量等的一致性。时变:数据存储从历史的角度(例如,过去5-10年)提供信息。数据仓库中的关键结构都隐式或显式地包含时间元素。非易失:数据仓库总是物理地分离存放数据,这些数据源于操作环境下的应用数据。由于这种分离,数据仓库不需要事务处理、恢复和并发控制机制。政府需求岷山集团需求大数据治理相关概念1.2元数据元数据(Metadata),又称中介数据、中继数据,是数据仓库的一部分不可或缺的重要数据。它是“关于数据的数据”,描述的是数据仓库中数据的结构、内容、码以及索引等。分类:第一种元数据包含了所有原数据项名、属性以及它在数据仓库中的转换,它是为了从操作型环境向数据仓库环境转换而建立的。第二种元数据称为DSS元数据,是在数据仓库中用来在终端用户的多维商业模型以及前端工具间建立映射,一般是为了开发出更加先进的决策支持工具而创建的。作用:定义数据仓库中有什么;指明数据仓库中信息的内容及位置;刻画数据的抽取和转换规则;存储和数据仓库主题相关的各种商业信息。政府需求岷山集团需求大数据治理的框架1.3核心层大数据治理框架的核心层是大数据处理的过程,包括了数据采集、数据清洗与预处理、数据统计分析和挖掘以及结果可视化。方法层大数据治理的方法层,包括数据质量管理、数据安全、隐私保护、主数据管理及数据融合。领域层领域层,即领域知识。领域知识是指用以指导和约束搜索感兴趣知识行为的知识,也称背景知识,包括特定领域的背景信息和专家知识。主数据管理大数据处理隐私保护数据融合数据安全质量管理知识领域政府需求岷山集团需求大数据治理的原则1.4有效性原则有效性原则体现了大数据治理过程中数据的标准、质量、价值、管控的有效性、高效性。价值化原则价值化原则指大数据治理过程中以数据资产为价值核心,最大化大数据平台的数据价值。统一性原则统一性原则是在数据标准管理组织架构的推动和指导下,遵循协商一致制定的数据标准规范,借助标准化管控流程得以实施数据统一性的原则。开放性原则在大数据和云环境下,要以开放的理念确立起信息公开的政策思想,运用开放、透明、发展、共享的信息资源管理理念对数据进行处理,提高数据治理的透明度。安全性原则大数据治理的安全性原则体现了安全的重要性、必要性,保障大数据平台数据安全和数据治理过程中数据的安全可控。政府需求岷山集团需求大数据治理的方法1.5大数据质量管理的概念大数据质量管理,是指对数据计划、获取、存储、共享、维护、应用、消亡的生命周期中每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平,使得数据质量获得进一步提高。大数据质量评估(1)完整性(2)准确性(3)有效性(4)一致性(5)及时性政府需求岷山集团需求大数据治理的方法1.5大数据安全大数据安全存在着多个层次,如制度安全、技术安全、运算安全、存储安全、传输安全、产品和服务安全等。大数据安全防护技术(1)数据发布匿名保护技术(2)社交网络匿名保护技术(3)数据水印技术(4)数据溯源技术(5)访问控制技术政府需求岷山集团需求大数据治理的方法1.5隐私保护大数据隐私保护是指通过技术和管理手段来确保大数据环境下数据的保密性、完整性和可用性,以及分析并解决大数据活动对国家安全、社会影响、公共利益、个人的生命财产安全等造成的影响。大数据隐私保护技术(1)威胁发现技术(2)大数据认证技术(3)数据真实性分析技术(4)数据失真处理技术(5)数据加密技术(6)限制发布技术政府需求岷山集团需求大数据治理的方法1.5主数据主数据(MasterData)是指具有高业务价值的、可以在企业内跨越各个业务部门被重复使用的数据,是单一、准确、权威的数据来源。主数据包含元数据、属性、定义、角色、关联关系、分类方法等内容,被不同的应用所使用,涉及企业多数组织及业务单元。主数据管理主数据管理描述了一组规程、技术和解决方案,这些规程、技术和解决方案用于为所有利益相关方(如用户、应用程序、数据仓库、流程以及贸易伙伴)创建并维护业务数据的一致性、完整性、相关性和精确性。数据融合从数据来源的角度,大数据融合包括组织内部的数据和组织外部数据的融合;从数据结构的角度,包括结构化、半结构化和非结构化数据的融合;从数据状态的角度,包括静态数据和流数据的融合。第2章大数据治理应用15疫情防控与复工案例1中国人民银行个人信用评分案例2目录学习目标理解大数据治理的应用17政府需求岷山集团需求疫情防控与复工案例2.1案例背景新冠肺炎疫情在全球持续蔓延,已有6大洲180多个国家出现确诊病例,超过180万人确诊。新冠疫情已经对世界的正常运转带来严重的影响,全球的恐慌情绪正在蔓延。因此,为了更科学的防范疫情的进一步蔓延,必须对疫情的暴发进行回顾性分析,深入了解疾病传播方式,从而提出前瞻性的建议。天府大数据国际战略与技术研究院院长石勇带领的科研团队联合香港浸会大学计算机科学系刘际明教授、中国疾病预防控制中心寄生虫病所周晓农研究员所带领的智能化疾病监控联合实验室团队通过前期研究,基于不同年龄组人群在典型社交场合的接触模式,用数据驱动的模型刻画了新冠肺炎的潜在传播方式,量化分析了不同时间段疫情风险与多种复工方案的利弊关系,为国家制定疫情防控策略提供了科学有效的决策支持。政府需求岷山集团需求疫情防控与复工案例2.1案例分析该研究通过对不同年龄段人群在典型社交环境中的接触进行刻画,对新冠肺炎疫情的传播特征进行精准描述与分析,包括不同时刻不同地区的传播风险趋势、不同干预措施的有效性、以及恢复正常社会经济秩序所伴随的风险等。具体来说,该研究构建了一个数据驱动的计算模型用于揭示人群之间的接触模式,针对每种社交环境,计算模型将推断出相应的各年龄组人群间的接触强度,并由此刻画新冠肺炎在不同人群之间的传播方式。政府需求岷山集团需求疫情防控与复工案例2.1该研究得出的结论不仅为中国的新冠肺炎传播方式提供了更深入的解释,更为重要的是,研究中所提出的基于社交接触模式的疫情风险分析方法可被其他国家借鉴来指导其新冠疫情的防控策略与干预措施,从而减轻疫情大流行所带来的社会与经济影响。截至目前,已有72个国家及智库机构,引用了该研究,对世界疫情防控及经济恢复决策支撑提供了重要支撑。2020年12月,石勇教授因此获得国家先进个人表彰。政府需求岷山集团需求中国人民银行个人信用评分案例2.2案例背景中国人民银行征信系统包括企业信用信息基础数据库和个人信用信息基础数据库。其中企业信用信息基础数据库始于1997年,并在2006年7月份实现全国联网查询。个人信用信息基础数据库建设最早始于1999年,2005年8月底完成与全国所有商业银行和部分有条件的农信社的联网运行,2006年1月,个人信用信息基础数据库正式运行。2019年4月,新版个人征信报告已上线,拖欠水费也可能影响其个人信用。2019年6月19日,中国已建立全球规模最大的征信系统。2020年1月19日,征信中心面向社会公众和金融机构提供二代格式信用报告查询服务。中国个人信用分数,也被称作“中国分数”,是中国科学院虚拟经济与数据科学研究中心与央行(中国人民银行)合作开发完成的。石勇教授领衔研究团队,经过3年的开发与测试,不仅让中国人民银行征信中心信用评分系统模型建设成功,也通过后期的商业银行数据获得验证,并取得良好效果。中国的征信系统,为大数据的典型应用。截至2019年,征信系统累计收录9.9亿自然人、2591万户企业和其他组织的有关信息,个人信用报告日均查询量达550万次。政府需求岷山集团需求中国人民银行个人信用评分案例2.2案例分析信用评分运用先进的数据挖掘和统计分析技术,各大金融机构的消费者的住房贷款、汽车贷款、信用卡等的历史信息,通过对消费者的人口特征、信用历史记录、行为记录、交易记录等大量数据进行系统的分析,挖掘出蕴含在数据中的行为模式,找出历史信息与未来信用表现之间的关系,建立预测性的模型,预测出每个自然人在未来某个时期内发生“信贷违约”的概率,并以一个分数来表示。分数的高低表示风险的高低,将对各信贷机构的各项信贷决策有重大的指导意义。政府需求岷山集团需求中国人民银行个人信用评分案例2.2案例分析(1)数据获取(2)数据预处理(3)探索性分析(4)变量筛选(5)模型建立(6)模型检验(7)分数转化(8)效果评价图2.2信用评分步骤该信用评分模型通过人在经济、社会活动中所表现出的职业、工资等数百个变量指标,进行数据挖掘和综合分析,得出个人信用评分,国际标准为350-850分,结合具体国情,中国标准初步确定为350-1000分。石勇教授称,目前,中科院虚拟经济与数据科研中心已为中国人民银行开发出7组评分模型,经过良好的测试运行与优化,已成为中国个人信用评分首个国产大数据应用模型,对推进中国信用体系建设将起到重大关键性作用。实训1期货交易数据预处理24知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法25实训目标了解数据预处理的概念与流程;掌握数据加载与写入的方法;掌握数据对象的索引和切片操作;掌握数据清洗的一般方法;理解常用统计指标的含义;26知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法27数据预处理概念数据预处理(datapreprocessing)是指在进行数据分析、挖掘和可视化前对数据进行的一些必要处理方法。预处理数据清洗数据集成数据规约数据变换28数据预处理概念数据清洗数据集成数据规约数据变换发现并纠正数据文件中可识别错误,清理“脏数据”。将不同来源、格式、结构的数据在逻辑或物理上有机集中。尽可能保持数据原貌的前提下,最大限度地精简数据量。对数据的数值、类型、单位进行转换以保证数据可用性。29数据预处理概念准确性完整性一致性时效性有效性数据质量30知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法31数据读取与写入文件是信息的载体,在将分散的数据保存在文件中后,我们需要通过适当的方法对其进行读取和写入。以下介绍Pandas从多种存储媒介读取以及将不同的数据结构写入不同格式文件的方法。文本文件表格文件数据库32数据读取与写入CSV文件是一种纯文本文件,可以使用任何文本编辑器进行编辑,它支持追加模式,节省内存开销。33数据读取与写入read_csv()方法的作用是将CSV文件的数据读取出来,转换成DataFrame对象展示。read_csv(filepath_or_buffer,sep=',',delimiter=None,header='infer',names=None,index_col=None,usecols=None,prefix=None,...)filepath_or_buffer:文件路径sep:指定使用的分隔符,默认用“,”分隔。header:指定第一行用来作为列名,前提是names=Nonenames:指定列名列表。当names没被赋值时,header会变成0,即选取数据文件的第一行作为列名。34数据读取与写入to_csv()方法的功能是将数据写入到CSV文件中。to_csv(path_or_buf=None,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w‘,...)path_or_buf:文件路径。index:默认为True,若设为False,则将不会显示索引。sep:分隔符,默认用“,”隔开。35数据读取与写入Excel文件也是比较常见的存储数据的文件,它里面均是以二维表格的形式显示的,可以对数据进行统计、分析等操作。Excel的文件扩展名有.xls和.xlsx两种。36数据读取与写入read_excel(io,sheet_name=0,header=0,names=None,index_col=None,**kwds)io:表示路径对象。sheet_name:指定要读取的工作表,如:“Sheet1”。header:用于解析DataFrame的列标签。names:指定列名列表。to_excel(excel_writer,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,...)excel_writer:表示读取的文件路径。index:表示是否写行索引,默认为True。37数据读取与写入大多数情况下,海量的数据是使用数据库进行存储的,这主要是依赖于数据库的数据结构化、数据共享性、独立性等特点。Pandas

支持Mysql、Oracle、SQLite等主流数据库的读写操作。38数据读取与写入以Mysql为例,read_sql()函数既可以读取整张数据表,又可以执行SQL语句。pandas.read_sql(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,columns=None,chunksize=None)sql:表示被执行的SQL语句。con:接收数据库连接,表示数据库的连接信息。columns:从SQL表中选择列名列表。39数据读取与写入to_sql()方法的功能是将Series或DataFrame对象以数据表的形式写入到数据库中。pandas.to_sql(name,con,schema=None,if_exists='fail‘,index=True,index_label=None,chunksize=None,dtype=None)name:表示数据库表的名称。con:表示数据库的连接信息。if_exists:可以取值为fail、replace或append,默认为’fail’。40数据读取与写入注意:通过create_engine()函数创建连接时,需要指定格式如下:'数据库类型+数据库驱动名称://用户名:密码@机器地址:端口号/数据库名’。如:’mysql+mysqlconnector://root:123456@:3306/info’41知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法42数据索引与切片pandas作为常用的数据分析库,提供了两个重要的数据结构:Series和DataFrame其中Series是由索引和数据组成的一维数据结构,DataFrame是由行、列索引和数据组成的二维数据结构。SeriesDataFrame43数据索引与切片Series是pandas提供的重要数据结构对象之一,类似于一维数组,主要由一组数据和与之相关的索引两部分构成,其索引和数据只能在某个固定维度上延伸。44数据索引与切片pandas.Series(data=None,index=None,dtype=None,name=None,fastpath=False)Series构造函数:data:表示传入的数据,可以是列表或字典。index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N的整数索引。45010203政府需求岷山集团需求同盟商家群众数据索引与切片importpandasaspdpd.Series([1,2,3,4,5])pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])pd.Series({2001:17.8,2002:20.1,2003:16.5})构造Series的方式:465MIN010203政府需求岷山集团需求同盟商家群众数据索引与切片Series的索引:

Series的切片:

470103政府需求岷山集团需求同盟商家群众数据索引与切片Series的索引:Series的切片:

ser_obj[2]ser_obj['b']注意:基于标签的切片是闭区间

基于位置的切片是左闭右开的区间485MIN010203政府需求岷山集团需求同盟商家数据索引与切片DataFrame也是pandas提供的重要数据结构对象之一,类似于二维数组或表格对象,主要由多组数据和与之相关的索引两部分构成,其索引和数据可以在两个固定维度上延伸。注意:DataFrame的索引不仅有行索引,还有列索引,数据可以有多列。且每一行或列单独取出均为Serirs类型。49010203政府需求岷山集团需求同盟商家群众数据索引与切片pandas.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False

)DataFrame构造函数:data:表示传入的数据,可以是嵌套列表、二维数组或列表字典等数据类型。index:表示行标签。若不设置该参数,则默认会自动创建一个从0~N的整数索引。columns:列标签。50010203政府需求岷山集团需求同盟商家群众数据索引与切片importpandasaspdpd.DataFrame([[1,2,3],[2,4,6],[3,6,9]],index=['a','b','c'],columns=['A','B','C'])pd.DataFrame({'A':[1,2,3],'B':[2,3,4],'C':[3,4,5]})构造DataFrame的方式:515MIN010203政府需求岷山集团需求同盟商家群众数据索引与切片DataFrame的行索引:

DataFrame的列索引:

52010203岷山集团需求同盟商家群众数据索引与切片DataFrame的行索引:

DataFrame的列索引:

535MIN010203政府需求岷山集团需求同盟商家群众数据索引与切片DataFrame的行切片:

DataFrame的列切片:

5401岷山集团需求同盟商家群众数据索引与切片DataFrame的行切片:

DataFrame的列切片:

555MIN注意:基于标签的切片是闭区间

基于位置的切片是左闭右开的区间知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法56010203政府需求岷山集团需求同盟商家群众数据清洗数据清洗即发现并纠正数据文件中可识别错误,清理影响数据质量的“脏数据”。脏数据在这里指的是对数据分析没有实际意义、格式非法、不在指定范围内的数据。空缺值重复值异常值脏数据57010203政府需求岷山集团需求同盟商家群众数据清洗空缺值处理Python中一般用None和NaN表示空缺值,在numpy和pandas模块中许多函数或方法将NaN视作“正常的”空缺值,而none则会被视为非法类型或字符串。None(NoneType)NaN(float)58010203政府需求岷山集团需求同盟商家群众数据清洗空缺值处理Pandas中用于判断数据集中是否存在空缺值有如下方法。pandas.isnull(obj)isnull()函数会返回一个布尔类型的值,如果返回的结果为True,则说明有空缺值,否则为False。pandas.notnull(obj)notnull()也可以判断数据中是否存在空值或缺失值,不同之处在于,前者发现数据中有空值或缺失值时返回False,后者返回的是True。59010203政府需求岷山集团需求同盟商家数据清洗importpandasaspdimportnumpyasnpser_obj=pd.Series([1,None,np.NAN])pd.isnull(ser_obj)pd.notnull(ser_obj)空缺值处理605MIN0203政府需求岷山集团需求同盟商家群众数据清洗空缺值处理dropna()方法的作用是过滤含有空缺值的行或列。dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)axis:确定过滤行或列。how:确定过滤的标准。thresh:表示有效数据量的最小要求。若传入了2,则是要求该行或该列至少有两个非NaN值时将其保留610203政府需求岷山集团需求同盟商家群众数据清洗空缺值处理fillna()方法的作用是对空缺值进行填充。fillna(value=None,method=None,axis=None,inplace=False,limit=None,**kwargs)value:指定固定值填充至空缺值位置。method:表示填充方式,默认值为None,’ffill’:前项填充,’bfill’:后项填充。limit:可以连续填充的最大数量,默认None。62010203政府需求岷山集团需求同盟商家数据清洗importpandasaspdimportnumpyasnpdf_obj=pd.DataFrame([[1,2,np.NAN], [2,np.NAN,4],[np.NaN,4,np.NAN]])df_obj.dropna()df_obj.dropna(axis=1,thresh=2)空缺值处理636MIN010203政府需求岷山集团需求同盟商家数据清洗importpandasaspdimportnumpyasnpdf_obj=pd.DataFrame([[1,2,np.NAN], [2,np.NAN,4],[np.NaN,4,np.NAN]])df_obj.fillna(value=0)df_obj.fillna(method='ffill')空缺值处理646MIN010203政府需求岷山集团需求同盟商家数据清洗重复值处理当数据中出现了重复值,需要甄别该重复值是“正常的”还是异常的。大多数情况下需要进行删除。Pandas提供了两个函数专门用来处理数据中的重复值,分别为duplicated()和drop_duplicates()方法。65010203政府需求岷山集团需求同盟商家群众数据清洗重复值处理duplicated()方法的语法格式如下:duplicated(subset=None,keep='first')drop_duplicates()方法的语法格式如下:drop_duplicates(subset=None,keep='first',inplace=False)以上函数中,subset用于识别重复的列标签或列标签序列,默认识别所有的列标签。Keep用于删除重复项并保留第一次出现的项,取值可以为first、last或False。66010203政府需求岷山集团需求同盟商家数据清洗importpandasaspdimportnumpyasnpdf_obj=pd.DataFrame([[1,2,3],[1,2,3],[2,3,4]])df_obj.duplicated()df_obj.drop_duplicates()重复值处理675MIN010203政府需求岷山集团需求同盟商家群众数据清洗异常值处理异常值是指样本中的个别值,其数值明显偏离它所属样本的其余观测值,这些数值是不合理的或错误的。通常来说,要想确认一组数据中是否有异常值,则常用的检测方法有3σ原则和箱形图。68010203政府需求岷山集团需求同盟商家群众数据清洗异常值处理3σ原则,指假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,凡是超过这个区间的误差都是粗大误差。在正态分布概率公式中,σ表示标准差,μ表示平均数:

69010203政府需求岷山集团需求同盟商家数据清洗异常值处理箱形图是一种用作显示一组数据分散情况的统计图。在箱形图中,异常值通常被定义为小于QL–1.5IQR或大于QU+1.5IQR的值。70010203政府需求岷山集团需求同盟商家数据清洗异常值处理处理方式:直接将含有异常值的样本删除;用具体的值进行替换;视为空缺值处理;不处理;71知识点数据预处理概念数据读取与写入数据索引与切片数据清洗描述性统计方法72010203政府需求岷山集团需求同盟商家群众描述性统计方法对于完整的数据预处理而言,把握数据的全貌是至关重要的。基本的描述性统计分析可以用来识别数据的性质,凸显应被视为噪声或离群点的数据值。描述性统计集中趋势均值中位数众数离散趋势极差方差标准差73010203政府需求岷山集团需求同盟商家群众描述性统计方法集中趋势度量

74010203政府需求岷山集团需求同盟商家群众描述性统计方法集中趋势度量中位数对于倾斜(非对称)数据,度量中心趋势更好的方法是中位数(median)。中位数是有序数据的中间值,它是把数据较高的一半与较低的一半分开的值。众数众数是另一种集中趋势度量。数据集的众数(mode)是集合中出现最频繁的值。因此,可以计算定性和定量属性的众数。可能最高频率对应多个不同值,导致有多个众数。75010203政府需求岷山集团需求同盟商家群众描述性统计方法离散趋势度量

76010203政府需求岷山集团需求同盟商家群众描述性统计方法离散趋势度量importnumpyasnpimportpandasaspdser_obj=pd.Series(np.random.randint(1,100,100))ser_obj.max()-ser_obj.min()98np.var(ser_obj)900.2np.std(ser_obj)30ser_obj.describe()776MIN感谢聆听7879实训2电影数据预处理80知识点数据合并数据脱敏时间序列处理数据分组数据聚合81实训目标掌握数据合并的方法;理解数据脱敏的方法;理解时间序列的表示与处理;掌握数据分组的方法;掌握数据聚合的方法;82知识点数据合并数据脱敏时间序列处理数据分组数据聚合83数据合并数据合并是指将多个数据表根据某种规则合并为一个数据表的过程。数据合并主键合并堆叠合并84010203政府需求岷山集团需求同盟商家群众数据合并堆叠合并concat()函数可以沿着一条轴的方向将多个数据表对象进行堆叠。concat(objs,axis=0,join=‘outer’,join_axes=None,ignore_index=False,keys=None,levels=None,names=None,

...)axis:表示连接的轴向,可以为0(默认)或1。join:表示连接的方式,inner表示内连接,outer(默认)表示外连接。names:结果分层索引中的层级的名称。85010203政府需求岷山集团需求同盟商家df_obj1=pd.DataFrame({'key':['a','b','c'],'A':[1,1,1],'B':[2,2,2]})df_obj2=pd.DataFrame({'key':['b','c','d'],'A':[1,1,1],'B':[2,2,2]})数据合并堆叠合并865MIN010203政府需求岷山集团需求群众pd.concat([df_obj1,df_obj2])pd.concat([df_obj1,df_obj2],axis=1)数据合并堆叠合并874MIN010203政府需求岷山集团需求同盟商家群众数据合并主键合并主键合并是指根据一个或多个键将不同的DatFrame对象连接起来。pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False)left,right:待合并的左右两侧数据对象。how:表示连接方式,inner(默认)为内连接,outer为外连接。left为使用左侧对象的键,right为使用右侧对象的键。

on:用于连接的列名。885MIN010203岷山集团需求群众pd.merge(df_obj1,df_obj2,how='inner')pd.merge(df_obj1,df_obj2,how='outer')数据合并主键合并pd.merge(df_obj1,df_obj2,how='left')pd.merge(df_obj1,df_obj2,how='right')89知识点数据合并数据脱敏时间序列处理数据分组数据聚合90数据脱敏数据脱敏是指根据数据的使用目的和使用环境制定一定的隐私保护规则,防止敏感数据在不可靠的环境下使用,防止因数据泄露造成不必要的损失。数据脱敏动态数据脱敏静态数据脱敏91时间序列处理静态数据脱敏:92静态数据脱敏需要将生产环境的数据进行备份,通过特定的方法排查问题或进行数据分析,出于安全考虑需要把敏感数据从生产环境脱敏完毕之后再在非生产环境使用。时间序列处理动态数据脱敏:93动态数据脱敏一般直接用在生产环境,访问敏感数据时实时进行脱敏,因为有时在不同情况下对于同一敏感数据的读取,需要做不同级别的脱敏处理。并且脱敏前后的数据须保持一致性和有效性。数据脱敏数据脱敏的方式有很多种,在选用脱敏方法时我们需要考虑到数据使用者的使用目的和使用方式,同时也要注意保护数据发布者的隐私和权益不受侵害。数据脱敏无效化处理随机化处理加密处理94知识点数据合并数据脱敏时间序列处理数据分组数据聚合95时间序列处理时间序列是指多个时间点形成的数值序列,一般作为某指标或特征的参考系。Pandas提供了多个时间相关类表示时间序列。时间序列时间戳Timestamp日期时间datetime时间索引DatetimeIndex时间片段Period96时间序列处理时间序列作用:97可以反映数据所描述对象的发展变化过程,描述现象的发展状态和结果。可以用于观测数据所描述对象的发展趋势和发展速度。可以探索数据所描述对象发展变化的规律,对某些现象进行预测。时间序列处理pd.to_datetime('20210801')pd.datetime(year=2021,month=8,day=1)pd.date_range('20210801',periods=1)pd.Period('2021/8/1')时间序列创建985MIN时间序列处理importnumpyasnpimportpandasaspddate=pd.date_range('20201230','20210102’)df_obj=pd.DataFrame(np.random.randint(1,10,size=(4,2)),index=date)df_obj['2021']时间序列选取995MIN时间序列处理date=pd.date_range('20201230','20210102’)date.strftime('%Y/%m/%d’)date.strftime('%Y-%m-%d-%H-%M-%S')时间序列表示%y两位数的年份表示%Y四位数的年份表示%m月份%d天%H24小时制小时数%M分钟数%S秒1005MIN时间序列处理Pandas中的resample()是一个对常规时间序列数据重新采样和频率转换的便捷的方法。重采样resample(rule,

how=None,

axis=0,

fill_method=None,

closed=None,

label=None,

...)rule:表示重采样的频率。fill_method:表示重采样时如何插值,可以取ffill和bfill及None。closed:设置采样哪一端是闭合的。label:表示聚合后的标签,可设置为left或right101时间序列处理ser_obj=pd.Series(range(9),index=pd.date_range('20210801',periods=9,freq='T’))ser_obj.resample('3T',label='right').sum()#resample支持多种内置函数聚合数据,也支持OHLC方法,该方法可对金融数据进行有效处理重采样1024MIN知识点数据合并数据脱敏时间序列处理数据分组数据聚合103数据分组在进行数据处理过程中,可以将属于不同类别的数据按照以一定标准进行分组处理。Pandas中最常用的方法为groupby()方法groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False,observed=False,**kwargs)by:用于确定进行分组的依据,可以通过列名、列表、函数或Series对象进行分组。axis:表示分组轴的方向,0为按行分组(默认),1为按列分组。sort:表示是否对分组标签进行排序,接收布尔值,默认为True。104数据分组df_obj=pd.DataFrame({'key1':['A','A','B','B','A'],'key2':['one','two','one','two','one'],'data1':[2,3,4,6,8],'data2':[3,5,6,3,7]})df_obj.groupby('key1').apply(lambdax:x[:])1055MIN数据分组df_obj.groupby([1,2,3,1,2]).apply(lambdax:x[:])df_obj.groupby(lambdax:x%2==0).apply(lambdax:x[:])df_obj.groupby({0:'even',1:'odd',2:'even',3:'odd',4:'even'}).apply(lambdax:x[:])1066MIN知识点数据合并数据脱敏时间序列处理数据分组数据聚合107数据聚合在对数据表分组后往往需要对每个分组使用一定的方法进行运算,以求得各个分组在某一标准下的结果。Pandas可使用agg方法和内置函数对数据进行聚合操作。agg(func,axis=0,*args,**kwargs)func:表示用于汇总数据的函数,可以为单个函数或函数列表。axis:表示函数作用于轴的方向,0或index表示按列应用(默认值);1或columns表示按行应用。108df_obj=pd.DataFrame({'key1':['A','A','B','B','A'],'key2':['one','two','one','two','one'],'data1':[2,3,4,6,8],'data2':[3,5,6,3,7]})df_obj.groupby('key1').agg(lambdax:x.max()-x.min())数据聚合1095MINdf_obj.groupby('key1').agg([('极差',lambdax:x.max()-x.min()),('和',sum)])数据聚合df_obj.groupby('key1').mean()1105MIN感谢聆听111实训3人力资源数据预处理112知识点层级索引数据重塑标准化处理离散化处理哑变量处理113实训目标理解层级索引的概念与表示;掌握数据重塑的分类与方法;掌握数据离散化处理的方法;掌握数据标准化处理的方法;掌握数据哑变量处理的方法;114知识点层级索引数据重塑标准化处理离散化处理哑变量处理115层级索引在处理高维度数据时,可以考虑采用层级索引。使用层级索引可以在较低维度的数据结构(Series和DataFrame)中存储和操作任意维数的数据,MultiIndex在常规索引的基础上提供了分层功能。Series(1D)DataFrame(2D)MultiIndexMultiIndexSeries(2D)DataFrame(3D)116层级索引层级索引对象(MultiIndex)

的创建方式有三种:元组列表创建,数组列表创建,交叉迭代器创建。层级索引对象MultiIndexfrom_tuples()from_arrays()from_product()117010203政府需求岷山集团需求同盟商家群众arrays=[['bar','bar','baz','baz','foo','foo','qux','qux'],['one','two','one','two','one','two','one','two']]tuples=[('bar','one'),('bar','two'),('baz','one'),('baz','two’),('foo','one'),('foo','two'),('qux','one'),('qux','two’)]层级索引层级索引对象iterables=[['bar','baz','foo','qux'],['one','two']]1185MIN0102政府需求岷山集团需求群众pd.MultiIndex.from_tuples(tuples,names=['first','second'])pd.MultiIndex.from_arrays(arrays,names=['first','second'])层级索引层级索引对象创建pd.MultiIndex.from_product(iterables,names=['first','second'])1193MIN0102政府需求岷山集团需求群众df_obj=pd.DataFrame(np.random.randn(8,4),index=arrays)层级索引层级索引对象使用1202MIN0102政府需求层级索引层级索引数据选取df_obj.loc['baz']df_obj[0]df_obj.loc['foo','two']df_obj[2]['foo']['one']1216MIN知识点层级索引数据重塑标准化处理离散化处理哑变量处理122数据重塑数据重塑即对数据表当前的行列结构进行重设,以满足观察和操作的需要。Pandas中用于重塑操作的有:行列索引重塑、多层索引重塑数据重塑行列索引重塑多层索引重塑1230102政府需求岷山集团需求同盟商家群众数据重塑行列索引重塑Pivot()方法可根据给定的行或列索引重新组织一个DataFrame对象。pivot(index=None,columns=None,values=None)index:用于创建新DataFrame对象的行索引。columns:用于创建新DataFrame对象的列索引。values:用于填充新DataFrame对象中的值。124010203政府需求岷山集团需求df_obj=pd.DataFrame({'date':pd.date_range('20210801',periods=9,freq='D'),'var':list(str('ABC')*3),'value':np.random.random(9)})数据重塑行列索引重塑1253MIN010203政府需求岷山集团需求df_obj1=df_obj.pivot(index='date',columns='var',values='value’)数据重塑行列索引重塑1264MIN01政府需求岷山集团需求群众数据重塑多层索引重塑stack()方法可以将数据的列索引转换为行索引。unstack()可执行相反操作。DataFrame.stack(level=-1,dropna=True)level:索引层次。-1表示内层(默认),0表示外层索引。dropna:是否将缺失值删除,若设为True,则表示自动过滤缺失值,设置为False则相反。fill_value:空缺填充值。DataFrame.unstack(level=-1,fill_value=None)127政府需求岷山集团需求群众df_obj2=df_obj1.resample('3D',label='right').sum()数据重塑多层索引重塑df_obj3=df_obj2.stack()df_obj3.unstack()1284MIN知识点层级索引数据重塑标准化处理离散化处理哑变量处理129标准化处理不同量纲造成的数值差异可能会影响后续的数据处理及分析,为了消除特征之间量纲和取值差异造成的影响,可以选择标准化处理。标准化处理离差标准化标准差标准化小数定标标准化130标准化处理离差标准化,通过最大值和最小值将原始数据映射到[0,1]内。

标准差标准化,通过均值和标准差将原始数据进行处理。小数定标标准化,通过移动数据的小数位数,将原始数据映射到区间[-1,1]内,小数位数(k)取决于数据绝对值的最大值。131标准化处理离差标准化。标准差标准化小数定标标准化F_MinMax=lambdax:(x-np.min(x))/(np.max(x)-np.min(x))F_Standard=lambdax:(x-np.mean(x))/(np.std(x))F_Decimal=lambdax:x/10**np.ceil(np.log10(np.abs(x).max()))注意:以上匿名函数作用于DataFrame对象须使用apply函数,或导入sklearn库相关函数1326MIN标准化处理离差标准化。df=pd.DataFrame([10,-5,108,46,88,31,74,22])df.apply(F_MinMax)df.apply(F_Standard)df.apply(F_Decimal)注意:以上匿名函数作用于DataFrame对象须使用apply函数,或导入sklearn库相关函数1333MIN知识点层级索引数据重塑标准化处理离散化处理哑变量处理134离散化处理由于连续数据在一些情况下不适用于特定的算法,因此有必要将连续性特征(数值型)变换为离散型特征(类别型)。离散化处理分箱离散化聚类分析离散化135离散化处理Pandas的

cut

()函数能够实现分箱离散化操作。分箱离散化pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')x:表示要分箱的数据,必须是一维的。bins:表示分箱的边界,接收int和序列类型的数据。right:是否包含右端点,决定区间的开闭,默认为True136离散化处理聚类分析是一种流行的离散化方法。通过将属性的值划分成簇或组,聚类算法可以用来离散化数值属性。聚类考虑数据的分布以及数据点的邻近性,因此可以产生高质量的离散化结果。聚类分析离散化137离散化处理defKmeansCut(data,k):KM_model=KMeans(k)KM_model.fit(data.values.reshape((len(data),1)))center=pd.DataFrame(KM_model.cluster_centers_).sort_values(0)border=center.rolling(2).mean().iloc[1:]border=[0]+list(border[0])+[data.max()]returnpd.cut(data,border)聚类分析离散化138参考代码:PPT配套练习-实训3-3.5知识点层级索引数据重塑标准化处理离散化处理哑变量处理139哑变量处理许多模型要求输入的特征为数值,但在工作中我们为了减少无效数据的产生一般用类别来表示这类数据,哑变量处理即将类别变量转为哑变量指标矩阵。索引类别0A1B2C3D类别索引ABCD01000101002001030001140在Pandas中,可以使用get_dummies()函数对类别特征进行哑变量处理。pandas.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,sparse=False,drop_first=False,dtype=None)data:表示哑变量处理的数据。prefix:表示列名的前缀,默认为None。prefix_sep:用于附加前缀作为分隔符使用,默认为“_”。哑变量处理141010203政府需求岷山集团需求df_obj=pd.DataFrame(['A','B','C','D'],columns=['category’])pd.get_dummies(df_obj)哑变量处理142感谢聆听143144实训4鸢尾花数据预处理145知识点数据归约概念维度规约数量规约数据压缩146实训目标了解数据归约的概念与分类;理解维度规约概念及方法;理解数量规约概念及方法;了解数据压缩概念及方法;147知识点数据归约概念维度规约数量规约数据压缩148数据归约概念数据归约(datareduction)是指通过维度的减少或者数据量的减少,来达到降低数据规模的目的。数据规约维度规约数量规约数据压缩149知识点数据归约概念维度规约数量规约数据压缩150维度规约维度规约(dimensionlity)即:减少所考虑的随机变量或属性的个数。维度规约把原始数据变换或投影到较小的空间,其中不相关、弱相关或冗余的属性或维被检测和删除。FA(FactorAnalysis)SVD(SingularValueDecomposition)PCA(PrincipalComponentAnalysis)151维度规约维度降维152数据过载维度灾难因子分析(FA)FA(FactorAnalysis)是指研究从变量群中提取共性因子的统计技术。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设。

参考代码:PPT配套案例-实训4-4.1153奇异值分解(SVD)

SVD(SingularValueDecomposition)作为一种常见的矩阵分解方法广泛用于数据的降维与去噪。其基本原理为通过矩阵变换将一个比较复杂的矩阵用更小的3个矩阵的相乘来表示。参考代码:PPT配套案例-实训4-4.2154奇异值分解(SVD)

155主成分分析(PCA)

参考代码:PPT配套案例-实训4-1.3156主成分分析(PCA)

参考代码:PPT配套案例-实训4-4.3157知识点数据归约概念维度规约数量规约数据压缩158数量规约数量归约(numerosityreduction)用替代的、较小的数据表示形式替换原始数据,包括参数的或非参数的方法。参数方法有回归和对数-线性模型,非参数方法有直方图、聚类、抽样和数据立方体聚集。159知识点数据归约概念维度规约数量规约数据压缩160数量规约数据压缩(datacompression)使用变换方法得到原始数据的归约或“压缩”表示。如果原始数据可以从压缩后的数据重构,而不损失信息,则该数据归约称为无损的。如果只能近似重构原数据,则称之为有损的。维归约和数量归约也可以视为某种形式的数据压缩。161感谢聆听162实训5泰坦尼克号数据可视化163知识点数据可视化概述Matplotlib绘图库Seaborn绘图库164实训目标了解数据可视化的概念及作用;熟悉常见图表类型的特点及用法;掌握matplotlib库的基本使用;掌握seaborn库的基本使用;165知识点数据可视化概述Matplotlib绘图库Seaborn绘图库166数据可视化概述数据可视化是指将数据以图表的形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。167数据可视化概述相比文字和数字描述更直观的展示。短时间内得到更有效的结论。有助于降低理解的门槛。168数据可视化的好处:数据可视化概述数据可视化旨在借助图形化手段,清晰有效地将数据中的各种属性和变量呈现出来,使用户可以从不同的维度观察数据,从而对数据进行更深入地观察和分析。结论169知识点数据可视化概述Matplotlib绘图库Seaborn绘图库170Matplotlib绘图库Matplotlib是一个Python的2D绘图库,该绘图库允许开发者利用一些基本的python数据结构自定义一些可视化图表,如:折线图、散点图、柱状图、饼图、直方图、子图等等。Pyplot是Matplotlib的子库,提供了和MATLAB类似的绘图API。171Matplotlib绘图库画布对象是绘制图表前最重要的对象之一,该对象可以理解为一张空白的画布,用于容纳图表的各种组件。此外,若想在单个图表的基础上进行扩展,则需要子图对象。子图对象允许划分为多个绘图区域,每个绘图区域都是一个Axes对象,它拥有属于自己的坐标系统,被称为子图。基础绘图对象1720102政府需求岷山集团需求同盟商家群众画布对象的创建方法如下:num--表示图形的编号或名称。figsize--用于设置画布的尺寸。facecolor--用于设置画板的背景颜色。edgecolor--用于显示边框颜色。Matplotlib绘图库基础绘图对象matplotlib.pyplot.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,...,**kwargs)参考代码:PPT配套练习-实训5-5.11730102政府需求岷山集团需求同盟商家群众子图对象的创建方法如下:nrows,ncols--表示子区网格的行数、列数。sharex,sharey--表示控制x或y轴是否共享。Matplotlib绘图库基础绘图对象subplots(nrows=1,ncols=1,sharex=False,sharey=False,squeeze=True,subplot_kw=None,gridspec_kw=None,**fig_kw)注意:subplots()函数会返回一个元组,元组的第一个元素为Figure对象(画布),

第二个元素为Axes对象(子图)。参考代码:PPT配套练习-实训5-5.2174Matplotlib绘图库常见图表绘制matplotlib.pyplot模块中包含了快速生成多种图表的函数。175010203政府需求岷山集团需求群众matplotlib.pyplot.hist(x,bins=None,range=None,color=None,label=None,...,**kwargs)matplotlib.pyplot.scatter(x,

y,

s=None,

c=None,

marker=None,

alpha=None,

linewidths=None,

...,

**kwargs)Matplotlib绘图库常见图表绘制x--表示输入值。bins--表示绘制条柱的个数。range--bins的上下范围(最大和最小值)。color--表示条柱的颜色,默认为None。x,y--表示x轴和y轴对应的数据。s--指定点的大小。c--指定散点的颜色。marker--表示绘制的散点类型。参考代码:

PPT配套练习-实训5-5.3,5.4176010203政府需求岷山集团需求群众bar(x,height,width,*,align='center',**kwargs)Matplotlib绘图库常见图表绘制x--表示x轴的数据。height--表示条形的高度。width--表示条形的宽度,默认为0.8。color--表示条形的颜色。edgecolor--表示条形边框的颜色参考代码-PPT配套练习-实训5-5.5177010203政府需求岷山集团需求群众线条及填充区域颜色使用color参数控制,它支持如下表所列举的颜色值:Matplotlib绘图库绘图细节设置178010203政府需求岷山集团需求群众对于含有标记点的标记风格使用marker参数控制,它支持如右表所列举的标记形状:Matplotlib绘图库绘图细节设置179010203政府需求岷山集团需求群众另外,对于含有线段的图表,线型使用linestyle参数控制,它支持如下表所列举的线型值:Matplotlib绘图库绘图细节设置参考代码:

PPT配套练习-实训5-5.6180Seaborn绘图库Seaborn基于Matplotlib核心库进行了更高级的API封装,可以轻松地画出更漂亮的图形,而Seaborn的漂亮主要体现在配色更加舒服,以及图形元素的样式更

温馨提示

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

评论

0/150

提交评论