Python数据分析 课件 项目4 数据分析库pandas_第1页
Python数据分析 课件 项目4 数据分析库pandas_第2页
Python数据分析 课件 项目4 数据分析库pandas_第3页
Python数据分析 课件 项目4 数据分析库pandas_第4页
Python数据分析 课件 项目4 数据分析库pandas_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

项目四

数据分析库pandas任务一Pandas数据结构任务二导入数据任务三数据处理任务四数据统计任务五数据统计分析任务一Pandas数据结构任务引入小刘接了一个数据分析的项目,使用Pandas进行数据采集,最简单的是直接定义的数组数据。那么,Pandas数据结构有哪些?如何定义这些数组?知识准备Pandas的两个主要数据结构为Series(一维数组结构)和DataFrame(二维数组结构)。这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数据分析典型案例。对于图所示的一个部门费用统计表,统计一个季度内各部门的费用使用情况。一维数组对象Series包含列数据和列索引,如图所示,二维数组对象DataFrame包含行、列数据和行索引、列索引,如图所示。部门费用统计表一维数组对象Series二维数组对象DataFrame一、一维数组SeriesSeries是一种类似于一维数组的对象,它由一组数据(NumPy中的数据类型)以及一组与之相关的数据标签(即索引)组成。1.创建Series在Pandas中,Series函数用来创建一维数组对象Series参数说明:data:一组数据(ndarray类型)。index:数据索引标签,默认从0开始。dtype:数据类型。name:设置名称。copy:拷贝数据,默认为False。创建Series对象后,可以通过设置Series属性达到修改Series的目的,Series常用属性见表。案例——根据图所示的某工厂产量成本报表,创建一维数组对象案例——利用上例中的某工厂产量成本报表,通过定义索引属性编辑一维数组对象2.Series常用函数Series集成了ndarray和dict的优点,使用ndarray或dict所有索引操作和函数,常见函数见表。案例——利用某工厂产量成本报表,输出指定的对象二、二维数组DataFrameDataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的,而不是列表、字典或别的一维数据结构。1.DataFrame生成在Pandas中,DataFrame函数用来创建二维数组对象DataFrame案例——根据图所示的2016年某公司职员的医疗费用,创建DataFrame2.DataFrame属性通过属性的属性可以查看定义的数据,DataFrame常用属性见表。案例——根据图所示的淘宝某新开店铺产品日销售表,创建DataFrame.任务二导入数据任务引入小刘对公司的财务数据进行统计分析,资料员发给他一堆文件,小刘使用Pandas导入文件数据,进行统计分析。那么,Pandas导入文件有哪些?如何进行导入?文件数据是否会出现乱码?如何解决数据读取中出现的问题?知识准备数据分析的前提是必须有数据,利用最基础的数据结构元组、列表、字典和集合创建数据已经无法满足发展越来越快速的社会需求,这就需要导入数据。对于导入数据意味着从外部文件加载数据,Pandas导入文件数据采用何种函数取决于文件的格式。根据以下标准确定使用的文件格式:二进制文件可用来保存数值数据并访问文件中的指定数字,或随机访问文件中的数字。与人可识别的文本文件不同,二进制文件只能通过机器读取。二进制文件是存储数据最为紧凑和快速的格式。如需随机读写文件或读取速度及磁盘空间有限,使用二进制文件。在磁盘空间利用和读取速度方面二进制文件优于文本文件。二进制文件可用来保存数值数据并访问文件中的指定数字,或随机访问文件中的数字。与人可识别的文本文件不同,二进制文件只能通过机器读取。二进制文件是存储数据最为紧凑和快速的格式。如需在其他应用程序(如MicrosoftExcel)中访问这些数据,使用最常见且便于存取的XLS或XLSX件。csv文件是为了实现简单的数据存储,是一个纯文本的文件,最广泛的应用是在程序之间转移表格数据,能够兼容各类程序。一、读取excel文件openpyxl模块是一个读写Excel2010文档的Python库,能够同时读取和修改Excel文档。执行其他与Excel相关的项目(包括读或者写Excel)需要安装、加载该模块库。前面已经讲解模块库的安装、加载、设置,这里不再赘述。安装openpyxl模块后,在程序中使用该模块库,还需要导入该模块,如importopenpyxlasop#导入openpyxl模块在Pandas中,使用read_excel函数将读取excel自带的XLS或XLSX文件中的数据案例——导入图“成本费用表”中两个sheet中各个产品的费用Pandas中还有一些其他io函数,见表。二、写入excel文件在Pandas中,从文件读取的数据,以DataFrame或Seral格式保存在内存中,

to_excel函数可以将数据保存为XLS或XLSX文件,该函数的使用格式如下。案例——导入图中的“商品订购单.csv”中某家具销售公司二季度商品订购记录,将数据保存为“商品订购单.xlsx”任务三数据处理任务引入小刘需要从一堆文件中,筛选出可使用的数据文件。那么,如何筛选出可用的数据?异常、重复、无用的数据如何进行处理?知识准备数据处理是从大量、杂乱无章、难以理解、缺失的数据中,抽取出有意义的数据,数据处理主要包括数据清洗、数据加工等方法。一、数据清洗数据清洗是对一些没有用的数据进行处理的过程。在数据分析工作中,很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。1.数据缺失在数据输入过程中,很容易出现数据遗漏现象,pandas对象的所有描述性统计默认都不包括缺失数据,因此在数值数据中,pandas使用浮点值NaN(NotaNumber)表示缺失数据。这样可以很明显是的发现确实数据,方便修改。案例——处理缺失数据案例——利用函数处理缺失数据2.重复数据unique函数用于获取Series中的唯一值数组,删除重复数据。3.数据格式化数据格式化可以增加数据的可读性,如统一数据的小数点位数、添加千位分隔符,还可以实现特定的功能,比如转换为百分比数据,百分比数据主要用于成绩分数等统计计算。案例——对所有列保持统一精度案例——已知某小学数学、语文考试分数,从中各抽取6份进行估测,测得数据如下:语文:95,82,79.5,87,83,86.5,数学:91,95,93,96,97,98,试对学校成绩进行格式化可以设置的选项案例——输入4所小学的联考平均分,控制输出精度、对齐数据,保存到excel文件中二、数据转换当获得数据时,首先需要确定的是正确类型的数据,Pandas扩展了NumPy的类型系统,用dtype属性来显示元素的数据类型,Pandas主要有以下几种数据类型:字符串类型:object整数类型:Int64,Int32,Int16,Int8无符号整数:UInt64,UInt32,UInt16,UInt8浮点数类型:float64,float32日期和时间类型:datetime64[ns]、datetime64[ns,tz]、timedelta[ns]布尔类型:bool保存到excel文件当利用pandas进行数据处理的时候,经常会遇到数据类型的问题,一般需要通过数据类型的转化,才能进行后续的数据操作。表4-6中列出了关于数据转换的函数。案例——将输入的数据转换为浮点型,并分别输出三、数据合并在实际处理数据中,经常会遇到将多个表连接起来再进行数据的处理和分析的情况,Pandas中也提供了几种方法来实现数据合并功能。案例——使用merge函数连接两个数组:正弦表、余弦表表中列出了其他数据合并的函数。案例——使用concat函数连接两个数组:正弦表、余弦表任务四数据统计任务引入小刘将可用数据进行处理后,下一步就是进行数据统计。那么,统计数据的指标有哪些,如何进行统计?统计前还需要进行什么操作?知识准备数据统计是数据分析的前提,是数据收集的后处理,通过对数据的提取、清洗、查找与分类,能更精准、快速的进行数据分析。一、数据提取在数据的分析过程中,并不是所有的数据都是我们想要的,这就需要提取部分数据,从源数据中抽取部分或全部数据到目标系统,从而在目标系统再进行数据加工利用。但是从哪取、何时取、如何取。数据的提取过程数据提取是将数据取出的过程,不同提取规则下的数据结果很难一致。Pandas中数据抽取函数函数见表。案例——表显示了中国8年间钢材消耗量与国民收入之间的关系,抽取表格中的数据二、数据分类数据分类是将数据进行一个自定义的分类,Pandas中提供cut函数实现数据分类案例——对中国8年间钢材消耗量进行分类。三、数据排序数据排序通过浏览数据发现一些明显的特征或趋势,找到解决问题的线索,同时,数据排序本身就是数据分析的目的之一。美国的《财富》杂志每年都要在全世界范围内排出500强企业,通过这一信息,不仅可以了解自己企业所处的地位,清楚自己的差距,还可以从一个侧面了解到竞争对手的状况,有效制定企业的发展规划和战略目标。数据排序是按一定顺序将数据排列,Pandas提供了sort_values函数用于根据行、列数据进行排序案例——为了考查染整工艺对布的缩水率是否有影响,选用5种不同的染整工艺分别用A1、A2、A3、A4、A5表示,每种工艺处理4块布样,测得缩水率的百分数见表,试对其进行排序。Pandas中的其余排序参数见表。案例——某仓库超重包裹重新进行打包,随机抽取6个包裹进行最大最小重量对比。测得数据如下(单位:kg):136.5,138.5,140.3,112.7,8893,154.2。试对其进行排序四、统计分组统计分组是统计学的基本统计方法之一,使零散资料系统化,但怎样使资料系统化,本着什么去归类,这就取决于统计分组。在取得完整、正确的统计资料前提下,统计分组的优劣是决定整个数据统计成败的关键,它直接关系到数据分析的质量。例如:将一所学校的人,根据老师,学生,男性,女性,年龄,成绩,特长等标志,进行分类统计。1.groupby函数Pandas中的groupby函数用于对DataFrame对象进行分组groupby函数返回包含有关组的信息的groupby对象利用groups属性可以用来查看分组的信息,从返回的结果中可以看到不同分组的样本在原数据框中的索引,见表。案例——已知员工医疗费用表,试通过分组根据性别、所属部门统计医疗费用2.agg函数分组最主要的作用就是对各个组别进行分组描述,简单来说就是将一系列复杂的数据用几个有代表性的数据进行描述,进而能够直观的解释数据的规律。agg函数用来分别计算分组后每个组的最大值、最小值、和,数据计算函数见表。案例——已知员工医疗费用表,试通过分组根据性别计算和、最大值、最小值和乘积任务五数据统计分析任务引入小刘发现数据的统计只能得到基本的数字,无法对数据进行针对性分析。那么,针对性的统计分析有哪些,有哪些参数可以体现这些分析结果?知识准备数据的统计分析包括数据的离散程度分析、集中趋势分析、频数分析、分布以及一些基本的统计图形。一、集中趋势分析集中趋势分析是用各种起代表值作用的量度来反映变量数值趋向中心位置的一种资料分析方法。最常用的指标有算术平均值、几何平均值、和中位数和众数等。1.中位数中位数是按顺序排列的一组数据中居于中间位置的数.平均数是通过计算得到的,因此它会因每一个数据的变化而变化。2.众数众数是样本观测值在频数分布表中频数最多的那一组的组中值.在统计实践中,常利用众数来近似反映社会经济现象的一般水平,反映了一组数据的集中程度。案例——已知员工医疗费用表,试进行集中趋势分析,计算平均值、中位数和众数二、离散程度分析离散程度是指通过数据间的差异程度,用来衡量风险大小的指标。最常用的指标有方差和标准差等。1.标准差标准差是最常用的反映随机变量分布离散程度的指标。2.方差分析方差不仅仅表达了样本偏离均值的程度,更揭示了样本内部彼此波动的程度,在许多实际问题中,研究方差即偏离程度有着重要意义。3.协方差分祈系统的方差分析存在明显的弊端,无法控制分析中存在的某些随机因素,使之影响了分祈结果的准确度。4.相关性分析协方差仅能进行定性的分析,并不能进行定量的分析,因此引出相关系数的概念。案例——读取某公司产品的报价单,进行离散程度分析三、频数分析频数是指变量值中代表某种特征的数(标志值)出现的次数。频数分析用于计算定类数据的选择频数和比例,例如调查研究对象的性别、年龄,通过这些问题可以了解研究对象的背景.频数分析既可以用表的形式表示,也可以用图形的形式表示。在Pandas中,count函数用来计算每个分组样本的个数,value_counts函数用于计算一个Series中各值的出现频率。案例——读取某公司产品的报价单,进行频数列表分析.项目总

温馨提示

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

最新文档

评论

0/150

提交评论