首页 Python数据分析报告(PPT85页)

Python数据分析报告(PPT85页)

举报
开通vip

Python数据分析报告(PPT85页)Python学习数据分析与数据挖掘认识PythonPython是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型,然...

Python数据分析报告(PPT85页)
Python学习数据分析与数据挖掘认识PythonPython是一种解释型、面向对象、动态数据类型的高级程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 语言。Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型,然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。Python优点有哪些Python是一种开源的、解析性的,面向对象的编程语言Python使用一种优雅的语法,可读性强Python具有丰富的库,可以处理各种工作Python支持类和多层继承等的面向对象编程技术Python可运行在多种计算机平台和操作系统中,如Unix、Windows、MacOS、Ubuntu、OS/2等等为什么选择Python进行数据分析在众多解释型语言中,Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来,在行业应用和学术研究中采用python进行科学计算的势头越来越猛。近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大代替 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,结合其在通用编程方面的强大实力,完全可以只是用Python这一种语言去构建以数据为中心的应用程序。作为一个科学计算平台,Python的成功源于能够轻松的集成C、C++以及Fortran代码。大部分现代计算机环境都利用了一些Fortran和C库来是西安线性代数、优选、积分、快速傅里叶变换以及其他诸如此类的算法。课程内容Python环境搭建1.1python版本选择1.2python安装2.Python基础2.1python基础语法2.2python数据类型2.3条件和循环2.4Python函数2.5Python模块2.6Python文件I/O3.Python库介绍3.1NumPy库介绍3.2Pandas库介绍4.数据处理与分析4.1数据探索4.2数据预处理4.3挖掘建模5.实例分析5.1Titanic数据集分析5.2餐饮客户价值分析1.1Python环境搭建Python2.X和Python3.XPython的3​​.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python3.0在设计的时候没有考虑向下相容,许多针对早期Python版本设计的程式都无法在Python3.0上正常执行。大多数第三方库都正在努力地相容Python3.0版本。即使无法立即使用Python3.0,也建议编写相容Python3.0版本的程式,然后使用Python2.6,Python2.7来执行。Insummary:Python2.xislegacy,Python3.xisthepresentandfutureofthelanguage1.2Python安装集成开发环境选择Pycharm软件界面编写我的第一个Python程序HelloWorld程序简单的计算器2.1Python基本语法Python标识符在Python里,标识符由字母、数字、下划线组成。在Python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python中的标识符是区分大小写的。Python可以同一行显示多条语句,方法是用分号;分开。以下划线开头的标识符是有特殊意义的。以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用fromxxximport*而导入以双下划线开头的__foo代表类的私有成员;以双下划线开头和结尾的__foo__代表Python里特殊方法专用的标识,如__init__()代表类的构造函数。Python保留字符下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有Python的关键字只包含小写字母。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield行和缩进学习Python与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。以下代码会执行错误:Python引号Python可以使用引号(')、双引号(")、三引号('''或""")来表示字符串,引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。Python注释python中单行注释采用#开头python中多行注释使用三个单引号(''')或三个双引号(""")。2.2Python数据类型 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 数据类型Python定义了一些标准类型,用于存储各种类型的数据。Python有五个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)Python数字数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。当你指定一个值时,Number对象就会被创建。可以通过使用del语句删除单个或多个对象的引用。例如:Python支持四种不同的数字类型:int(有符号整型)long(长整型[也可以代表八进制和十六进制])float(浮点型)complex(复数)var1=1var2=10delvardelvar_a,var_bPython字符串字符串或串(String)是由数字、字母、下划线组成的一串字符。python的字串列表有2种取值顺序:从左到右索引默认0开始的,最大范围是字符串长度少1从右到左索引默认-1开始的,最大范围是字符串开头如果你要实现从字符串中获取一段子字符串的话,可以使用变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。s="a1a2···an"(n>=0)S='ilovepython‘s[1:5]的结果是love。Python列表List(列表)是Python中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。列表用[]标识,是python最通用的复合数据类型。列表中值的切割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始,从右到左索引默认-1开始,下标可以为空表示取到头或尾。加号+是列表连接运算符,星号*是重复操作。如下实例:Python元组元组是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。Python字典字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{}"标识。字典由索引(key)和它对应的值value组成。Python数据类型转换函数描述int(x[,base])将x转换为一个整数long(x[,base])将x转换为一个长整数float(x)将x转换到一个浮点数complex(real[,imag])创建一个复数str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列s转换为一个元组list(s)将序列s转换为一个列表set(s)转换为可变集合dict(d)创建一个字典。d必须是一个序列(key,value)元组。frozenset(s)转换为不可变集合chr(x)将一个整数转换为一个字符unichr(x)将一个整数转换为Unicode字符ord(x)将一个字符转换为它的整数值hex(x)将一个整数转换为一个十六进制字符串oct(x)将一个整数转换为一个八进制字符串2.3条件和循环Python条件语句Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python程序语言指定任何非0和非空(null)值为true,0或者null为false。Python编程中if语句用于控制程序的执行,基本形式为Python循环语句循环语句允许我们执行一个语句或语句组多次。Python提供了for循环和while循环(在Python中没有do..while循环)循环类型描述while循环在给定的判断条件为true时执行循环体,否则退出循环体。for循环重复执行语句嵌套循环你可以在while循环体中嵌套for循环演示Pythonwhile语句执行过程2.4Python函数定义函数遵循的相关规则函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数语法实例2.5Python模块定义模块好处模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。Python模块(Module),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。模块的引入模块定义好后,我们可以使用import语句来引入模块,语法如下:比如要引用模块math,就可以在文件最开始的地方用importmath来引入。在调用math模块中的函数时,必须这样引用:importmodule1[,module2[,...moduleN]模块名.函数名2.6Python文件I/O打印到屏幕最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下:读取键盘输入Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。二者区别raw_input会提示你输入任意字符串,然后在屏幕上显示相同的字符串。input函数和raw_input函数基本类似,但是input可以接收一个Python表达式作为输入,并将运算结果返回。raw_inputinput打开和关闭文件open函数你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。Python提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用file对象做大部分的文件操作。fileobject=open(file_name[,access_mode][,buffering])close()方法File对象的close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。语法:fileObject.close();write()方法write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符('\n')。语法:fileObject.write(string);read()方法read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。语法:fileObject.read([count]);PythonFile(文件)方法序号方法及描述1file.close()关闭文件。关闭后文件不能再进行读写操作。2file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。3file.fileno()返回一个整型的文件描述符(filedescriptorFD整型),可以用在如os模块的read方法等一些底层操作上。4file.isatty()如果文件连接到一个终端设备返回True,否则返回False。5file.next()返回文件下一行。6file.read([size])从文件读取指定的字节数,如果未给定或为负则读取所有。7file.readline([size])读取整行,包括"\n"字符。8file.readlines([sizehint])读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行,实际读取值可能比sizhint较大,因为需要填充缓冲区。9file.seek(offset[,whence])设置文件当前位置10file.tell()返回文件当前位置。11file.truncate([size])截取文件,截取的字节通过size指定,默认为当前文件位置。12file.write(str)将字符串写入文件,没有返回值。13file.writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。——python库利用python进行数据分析工具重要的Python库NumPy:Numpy(NumericalPython的简称)是Python科学计算的基础包。快速高效的多维数组对象ndarray用于对数组执行元素级计算以及直接对数组执行数学运算的函数用于读写硬盘上基于数组的数据集的工具线性代数运算、傅里叶变换、以及随机数生成用于将C、C++、Fortran代码集成到Python的工具除了为Python提供快速的数组处理能力,NumPy在数据分析方面还作为在算法之间传递数据的容器Pandas:pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数Pandas兼具NumPy高性能的数据计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。提供了复杂精细的索引功能、一边更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。Pandas提供了大量适用于金融数据的高性能时间序列功能和工具其他的Python库Matplotlib:matplotlib是最流行的用于绘制数据图标的Python库,实现数据可视化。IPython:Ipython是Python科学计算标准工具集的组成部分,它将其他所有的东西联系到了一起,为交互是和探索式计算提供了一个强健而高效的环境。SciPy:SciPy是一组专门解决科学计算中各种标准问题域的包的集合,包括Scipy.integrate:数值积分例程和韦恩方程式求解器Scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能Scipy.optimize:函数优化器(最小化器)以及根查找算法Scipy.signal:信号处理工具Scipy.sparse:稀疏矩阵和系数线性系统求解器Scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽马函数)的Fortran库)的包装器Scipy.stats:标准连续的离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。Scipy.weave:利用内敛C++代码加速数组计算的工具常用第三方Python库安装和导入安装下载并安装Anaconda,它附带了预安装的库。AnacondaPython是完全免费、跨平台、企业级的Python发行大规模数据处理、预测分析和科学计算工具。PyCharm已经集成NumPy、Pandas、Matplotlib等常用库。导入importnumpyasnpfromsocketimportgethostname,socket3.1NumPy库介绍NumPy是高性能科学计算和数据分析的基础包。部分功能如下:ndarray,具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据进行快速运算的标准数学函数(无需编写循环)。用于读写磁盘数据的工具以及用于操作内存映射文件的工具。线性代数、随机数生成以及傅里叶变换功能。用于集成C、C++、Fortran等语言编写的代码的工具。首先要导入numpy库:importnumpyasnp生成函数作用np.array(x)np.array(x,dtype)将输入数据转化为一个ndarray将输入数据转化为一个类型为type的ndarraynp.asarray(array)将输入数据转化为一个新的(copy)ndarraynp.ones(N)np.ones(N,dtype)np.ones_like(ndarray)生成一个N长度的一维全一ndarray生成一个N长度类型是dtype的一维全一ndarray生成一个形状与参数相同的全一ndarraynp.zeros(N)np.zeros(N,dtype)np.zeros_like(ndarray)生成一个N长度的一维全零ndarray生成一个N长度类型位dtype的一维全零ndarray类似np.ones_like(ndarray)np.empty(N)np.empty(N,dtype)np.empty(ndarray)生成一个N长度的未初始化一维ndarray生成一个N长度类型是dtype的未初始化一维ndarray类似np.ones_like(ndarray)np.eye(N)np.identity(N)创建一个N*N的单位矩阵(对角线为1,其余为0)np.arange(num)np.arange(begin,end)np.arange(begin,end,step)生成一个从0到num-1步数为1的一维ndarray生成一个从begin到end-1步数为1的一维ndarray生成一个从begin到end-step的步数为step的一维ndarraynp.in1d(ndarray,[x,y,...])检查ndarray中的元素是否等于[x,y,...]中的一个,返回bool数组矩阵函数说明np.diag(ndarray)np.diag([x,y,...])以一维数组的形式返回方阵的对角线(或非对角线)元素将一维数组转化为方阵(非对角线元素为0)np.dot(ndarray,ndarray)矩阵乘法np.trace(ndarray)计算对角线元素的和排序函数说明np.sort(ndarray)排序,返回副本np.unique(ndarray)返回ndarray中的元素,排除重复元素之后,并进行排序np.intersect1d(ndarray1,ndarray2)np.union1d(ndarray1,ndarray2)np.setdiff1d(ndarray1,ndarray2)np.setxor1d(ndarray1,ndarray2)返回二者的交集并排序。返回二者的并集并排序。返回二者的差。返回二者的对称差一元计算函数说明np.abs(ndarray)np.fabs(ndarray)计算绝对值计算绝对值(非复数)np.mean(ndarray)求平均值np.sqrt(ndarray)计算x^0.5np.square(ndarray)计算x^2np.exp(ndarray)计算e^xlog、log10、log2、log1p计算自然对数、底为10的log、底为2的log、底为(1+x)的lognp.sign(ndarray)计算正负号:1(正)、0(0)、-1(负)np.ceil(ndarray)np.floor(ndarray)np.rint(ndarray)计算大于等于改值的最小整数计算小于等于该值的最大整数四舍五入到最近的整数,保留dtypenp.modf(ndarray)将数组的小数和整数部分以两个独立的数组方式返回np.isnan(ndarray)返回一个判断是否是NaN的bool型数组np.isfinite(ndarray)np.isinf(ndarray)返回一个判断是否是有穷(非inf,非NaN)的bool型数组返回一个判断是否是无穷的bool型数组cos、cosh、sin、sinh、tan、tanh普通型和双曲型三角函数arccos、arccosh、arcsin、arcsinh、arctan、arctanh反三角函数和双曲型反三角函数np.logical_not(ndarray)计算各元素notx的真值,相当于-ndarray多元计算函数说明np.add(ndarray,ndarray)np.subtract(ndarray,ndarray)np.multiply(ndarray,ndarray)np.divide(ndarray,ndarray)np.floor_divide(ndarray,ndarray)np.power(ndarray,ndarray)np.mod(ndarray,ndarray)相加相减乘法除法圆整除法(丢弃余数)次方求模np.maximum(ndarray,ndarray)np.fmax(ndarray,ndarray)np.minimun(ndarray,ndarray)np.fmin(ndarray,ndarray)求最大值求最大值(忽略NaN)求最小值求最小值(忽略NaN)np.copysign(ndarray,ndarray)将参数2中的符号赋予参数1np.greater(ndarray,ndarray)np.greater_equal(ndarray,ndarray)np.less(ndarray,ndarray)np.less_equal(ndarray,ndarray)np.equal(ndarray,ndarray)np.not_equal(ndarray,ndarray)>>=<<===!=logical_and(ndarray,ndarray)logical_or(ndarray,ndarray)logical_xor(ndarray,ndarray)&|^np.dot(ndarray,ndarray)计算两个ndarray的矩阵内积np.ix_([x,y,m,n],...)生成一个索引器,用于Fancyindexing(花式索引)文件读写说明np.save(string,ndarray)将ndarray保存到文件名为[string].npy的文件中(无压缩)np.savez(string,ndarray1,ndarray2,...)将所有的ndarray压缩保存到文件名为[string].npy的文件中np.savetxt(sring,ndarray,fmt,newline='\n')将ndarray写入文件,格式为fmtnp.load(string)读取文件名string的文件内容并转化为ndarray对象(或字典对象)np.loadtxt(string,delimiter)读取文件名string的文件内容,以delimiter为分隔符转化为ndarray3.2Pandas库介绍pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。使用方法frompandasimportSeries,DataFrameimportpandasaspdSeries常用函数函数说明Series([x,y,...])Series({'a':x,'b':y,...},index=param1)生成一个SeriesSeries.copy()复制一个Series Series.reindex([x,y,...],fill_value=NaN)Series.reindex([x,y,...],method=NaN)Series.reindex(columns=[x,y,...])重返回一个适应新索引的新对象,将缺失值填充为fill_value返回适应新索引的新对象,填充方式为method对列进行重新索引Series.drop(index)丢弃指定项Series.map(f)应用元素级函数 排序函数说明Series.sort_index(ascending=True)根据索引返回已排序的新对象Series.order(ascending=True)根据值返回已排序的对象,NaN值在末尾Series.rank(method='average',ascending=True,axis=0)为各组分配一个平均排名df.argmax()df.argmin()返回含有最大值的索引位置返回含有最小值的索引位置DataFrame常用函数函数说明DataFrame(dict,columns=dict.index,index=[dict.columnnum])DataFrame(二维ndarray)DataFrame(由数组、列表或元组组成的字典)DataFrame(NumPy的结构化/ 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 数组)DataFrame(由Series组成的字典)DataFrame(由字典组成的字典)DataFrame(字典或Series的列表)DataFrame(由列表或元组组成的列表)DataFrame(DataFrame)DataFrame(NumPy的MaskedArray)构建DataFrame数据矩阵,还可以传入行标和列标每个序列会变成DataFrame的一列。所有序列的长度必须相同类似于“由数组组成的字典”每个Series会成为一列。如果没有显式制定索引,则各Series的索引会被合并成结果的行索引各内层字典会成为一列。键会被合并成结果的行索引。各项将会成为DataFrame的一行。索引的并集会成为DataFrame的列标。类似于二维ndarray沿用DataFrame类似于二维ndarray,但掩码结果会变成NA/缺失值df.reindex([x,y,...],fill_value=NaN,limit)df.reindex([x,y,...],method=NaN)df.reindex([x,y,...], columns=[x,y,...],copy=True)返回一个适应新索引的新对象,将缺失值填充为fill_value,最大填充量为limit返回适应新索引的新对象,填充方式为method同时对行和列进行重新索引,默认复制新对象。df.drop(index,axis=0)丢弃指定轴上的指定项。汇总统计函数说明df.count()非NaN的数量df.describe()一次性产生多个汇总统计df.min()df.min()最小值最大值df.idxmax(axis=0,skipna=True)df.idxmin(axis=0,skipna=True)返回含有最大值的index的Series返回含有最小值的index的Seriesdf.quantile(axis=0)计算样本的分位数df.sum(axis=0,skipna=True,level=NaN)df.mean(axis=0,skipna=True,level=NaN)df.median(axis=0,skipna=True,level=NaN)df.mad(axis=0,skipna=True,level=NaN)df.var(axis=0,skipna=True,level=NaN)df.std(axis=0,skipna=True,level=NaN)df.skew(axis=0,skipna=True,level=NaN)df.kurt(axis=0,skipna=True,level=NaN)df.cumsum(axis=0,skipna=True,level=NaN)df.cummin(axis=0,skipna=True,level=NaN)df.cummax(axis=0,skipna=True,level=NaN)df.cumprod(axis=0,skipna=True,level=NaN)df.diff(axis=0)df.pct_change(axis=0)返回一个含有求和小计的Series返回一个含有平均值的Series返回一个含有算术中位数的Series返回一个根据平均值计算平均绝对离差的Series返回一个方差的Series返回一个标准差的Series返回样本值的偏度(三阶距)返回样本值的峰度(四阶距)返回样本的累计和返回样本的累计最大值返回样本的累计最小值返回样本的累计积返回样本的一阶差分返回样本的百分比数变化排序函数说明df.sort_index(axis=0,ascending=True)df.sort_index(by=[a,b,...])根据索引排序计算函数说明 df.add(df2,fill_value=NaN,axist=1)df.sub(df2,fill_value=NaN,axist=1)df.div(df2,fill_value=NaN,axist=1)df.mul(df2,fill_value=NaN,axist=1)元素级相加,对齐时找不到元素默认用fill_value 元素级相减,对齐时找不到元素默认用fill_value 元素级相除,对齐时找不到元素默认用fill_value 元素级相乘,对齐时找不到元素默认用fill_value df.apply(f,axis=0)将f函数应用到由各行各列所形成的一维数组上df.applymap(f)将f函数应用到各个元素上df.cumsum(axis=0,skipna=True)累加,返回累加后的dataframe分析步骤定义数据分析目标:明确挖掘数据的目标和达到的效果。数据取样:采集目标相关样本数据子集,确保数据的相关性、可靠性、有效性。数据探索:对样本数据探索、审核、加工处理,保证样本数据的质量。数据预处理:改善数据质量,包括数据筛选、数据变量转换、缺失值数据处理等。挖掘建模:确定分析问题类型(分类,聚类、关联等),选择相应算法构建模型。模型评价:从建立模型中找到一个最好的模型,并应用到实际业务中。利用python进行数据分析4.1数据探索数据质量分析主要任务是检查原始数据中是否存在脏数据,即不符合要求,不能直接处理的数据,包括缺失值分析、异常值分析、一致性分析。数据特征分析分布分析:揭示数据的分布特征和分布类型,通过绘制频率分布表、茎叶图等直观分析对比分析:把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。统计量分析:用统计量指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析。相关性分析:分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来。4.2数据预处理数据清洗删除原始数据集中的无关数据、重复数据、平滑噪声数据、无关数据,处理缺失值和异常值。数据集成将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。数据变换主要是对数据进行 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化处理,将数据转换成适当的形式,以适用于挖掘任务和算法的需要。数据规约产生更小但保持数据完整性的新数据集,在规约后的数据集上进行分析和挖掘更有效率。Python主要数据预处理函数函数名函数功能所属扩展库interpolate一维、高维数据插值Scipyunique去除数据中重复元素,得到单值元素列表Pandas/Numpyisnull判断是否是空值Pandasnotnull判断是否非空值PandasPCA对指标变量矩阵进行主成分分析Scikit-Learnrandom生成随机矩阵Numpy4.3挖掘建模分类与预测分类:构造一个分类模型,输入样本的属性值,输出对应的类别,将每个样本映射到预先定义好的类别预测:建立两种或两种以上变量间相互依赖的函数模型,然后进行预测和控制实现过程学习步,通过归纳分析训练样本集来建立分类模型得到分类规则分类步,先用一直的测试样本集评估分类规则的准确率,如果准确率是可以接受的,则使用该模型对未知类标号的待测样本集进行预测常用的分类与预测算法算法分析算法描述回归分析回归分析是确定去测属性(数值型)与其他变量间相互依赖的定量关系最常用的统计学方法。包括线性回归、非线性回归、Logistic回归、岭回归、主成分回归、偏最小二乘回归等模型决策树决策树采用自顶向下的递归方式,在内部节点进行属性值的比较,并根据不同的属性值从该节点向下分支,最终得到的叶节点是学习划分的类人工神经网络人工神经神经网络是一种模仿大脑神经网络和功能而建立的信息处理系统,表示神经网络的输入与输出变量之间关系的模型贝叶斯网络贝叶斯网络又称信度网络,是Bayes方法的扩展,是目前不确定知识表达和推理领域最有效的理论模型之一支持向量机支持向量机是一种通过魔种非线性映射,把低纬的非线性可分转化为高维的线性可分,在高维空间进行线性分析的算法主要回归模型分类回归模型名称试用条件算法描述线性回归因变量与自变量是线性关系对一个或多个自变量和因变量之间的线性关系进行建模可用最小二乘法求解模型系数非线性回归因变量与自变量之间不都是线性关系对一个或多个自变量和因变量之间的非线性关系进行建模。如果非线性关系可以通过简单的函数变换转化成线性关系,用线性回归的思想求解;如果不能转化,用非线性最小二乘法方法求解Logistic因变量一般有1和0两种取值是广义线性回归模型的特例,利用Logistic函数将因变量的取值范围控制在0和1之间,表示取值为1的概率岭回归参与建模的自变量之间具有多重共线性是一种改进最小二乘估计的方法主成分回归参与建模的自变量之间具有多重共线性主成分回归是根据主成分分析的思想提出来,是对最小二乘法的一种改进,它是参数估计的一种有偏估计。可以消除自变量之间的多重共线性对某银行在降低贷款拖欠率的数据进行逻辑回归建模,数据示例如下表应用举例一Python代码运行结果结果分析随机逻辑回归剔除变量,分别剔除了x2、x8、x1、x5,最终构建模型包含的变量为常量x3、x4、x6、x7。在建立逻辑回归模型时,使用了默认的阈值0.25。聚类分析在没有给定划分类别的情况下,根据数据相似度进行样本分组的一种方法。常用聚类方法类别包括的主要算法划分方法K-Means算法、K-MEDOIDS算法、CLARANS算法层次分析法BIRCH算法、CURE算法、CHAMELEON算法基于密度的方法DBCSCAN算法、DENCLUE算法、OPTICS算法基于网格的方法STING算法、CLIOUE算法、WAVE——CLUSTER算法基于模型的方法统计学方法、神经网络方法常用聚类分析算法算法名称算法描述K-MeansK-均值聚类也称为快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。该算法原理简单并便于处理大量数据K-中心点K-均值算法对孤立点的敏感性,K-中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心系统聚类系统聚类也称为多层次聚类,分类的单位由高到低呈树形结构,且所处的位置越低,其包含的对象就越少,但这些对象间的共同特征越多。该聚类方法只适用在小数据量的时候使用,数据量大的时候速度会非常慢K-Means聚类算法算法过程从N个样本数据中随机选取K个对象作为初始的聚类中心分别计算每个样本到各个聚类中心的距离,将对象分配到距离不最近的聚类中所有对象分配完成后,重新计算K个聚类的中心与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,转第二步,否则转下一步当质心不发生变化时停止并输出聚类不结果应用举例二找出下列谁是学霸?高数英语C++音乐小明88649685大明92999594小鹏91879995大鹏78999781小萌88789884大萌1009510092使用Kmeans对学生成绩进行聚类运行结果结论大明、小鹏、大鹏、大萌是学霸5.1Titanic数据集分析PassengerId=>乘客IDSurvived=>是否生还Pclass=>乘客等级(1/2/3等舱位)Name=>乘客姓名Sex=>性别Age=>年龄SibSp=>堂兄弟/妹个数Parch=>父母与小孩个数Ticket=>船票信息Fare=>票价Cabin=>客舱Embarked=>登船港口1、导入数据&查看基本信息运行结果从数据集的基本信息可以看出,Age\Cabin\Embarked是存在缺失值的,其中Cabin字段缺失值过多。常用的方法是去除和补齐,数值型的数据是可以根据统计学的方法或者机器学习的方法将其进行补齐的2、分析乘客存活率与各单变量之间的关系查看总存活率输出结果survived_rate=float(df['Survived'].sum())/df['Survived'].count()Print(‘survived_rate:',survived_rate)survived_rate:0.383838383838舱位与存活率关系运行结果性别与存活率关系运行结果年龄与存活率关系运行结果3、分析乘客存活率与复合变量之间的关系根据上述变量分析,舱位和性别对存活率影响都很大,但哪一个占的比重更大呢?将舱位和性别整合为复合变量进行分析输出结果结果分析船舱等级越高,存活率越高女性存活率高于男性部分餐饮客户的消费行为特征数据如下,根据数据将客户分成不同客户群,并评价这些客户群的价值5.2餐饮客户价值分析Python代码运行结果分群一结果分析分群一的R间隔相对较小,主要集中在0~30天,消费次数集中在10~25次,消费金额在500~2000分群二结果分析分群二的R间隔分布在0~30天,消费次数集中在0~12次,消费金额在0~1800分群三结果分析分群三的R间隔较大,间隔分布在30~80天,消费次数集中在0~15次,消费金额在0~2000对比分析分群1的时间间隔较短,消费次数多,而且消费金额较大,时高消费、高价值人群。分群二的时间间隔、消费次数和消费金额处于中等水平,代表着一般客户。分群三的时间间隔较长,消费次数较少,消费金额也不是特别高,是价值较低的客户群体。谢谢感谢聆听!THANKYOUFORWATCHING!演示结束!欢迎批评指导!!2019*ppt资料演讲完毕,谢谢观看!
本文档为【Python数据分析报告(PPT85页)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
言言无悔一生
暂无简介~
格式:ppt
大小:2MB
软件:PowerPoint
页数:87
分类:
上传时间:2022-01-21
浏览量:0