《大数据导论》课件-第四章_第1页
《大数据导论》课件-第四章_第2页
《大数据导论》课件-第四章_第3页
《大数据导论》课件-第四章_第4页
《大数据导论》课件-第四章_第5页
已阅读5页,还剩224页未读 继续免费阅读

下载本文档

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

文档简介

大数据导论ndarray的运算与标量的运算

一元函数运算

二元函数运算ndarray数组的运算数组与标量之间的运算:作用于数组的每一个元素Numpy数组运算:一元函数(1)对ndarray中的数据执行元素级运算的函数函数说明np.abs(x)计算数组各元素的绝对值np.sqrt(x)计算数组各元素的平方根np.square(x)计算数组各元素的平方np.log(x)np.log10(x)np.log2(x)计算数组各元素的自然对数、10底对数和2底对数np.ceil(x)np.floor(x)计算数组各元素的ceiling值或floor值Numpy数组运算:一元函数(2)对ndarray中的数据执行元素级运算的函数函数说明np.rint(x)计算数组各元素的四舍五入值np.cos(x)np.sin(x)np.tan(x)计算数组各元素的三角函数np.exp(x)计算数组各元素的指数值np.sign(x)计算数组各元素的符号组:1(+),0,-1(-)Numpy数组运算:一元函数——示例Numpy数组运算:二元函数函数说明+-*/**两个数组各元素进行对应运算np.maximum(x,y)np.minimum(x,y)元素级的最大值/最小值计算><>=<===!=算术比较,产生布尔型数组Numpy数组运算:二元函数——举例Numpy数组的转置——ndarray的特殊T属性Numpy的文件读取操作np.savetxt():将Numpy数组保存到磁盘中np.loadtxt():从磁盘中读取数据导Numpy中Numpy的文件读取操作写入函数:np.savetxt(frame,

array,

fmt='%.18e',

delimiter=None)•frame

:

文件、字符串或产生器,可以是.gz或.bz2的压缩文件•array

:

存入文件的数组•fmt:

写入文件的格式,例如:%d

%.2f

%.18e•delimiter

:

分割字符串,默认是任何空格CSV

(Comma‐Separated

Value,逗号分隔值)文件CSV是一种常见的文件格式,用来存储批量数据指标,2020年第一季度,2019年第四季度,2019年第三季度,2019年第二季度国内生产总值当季值(亿元),206504.3,278019.7,252208.7,242573.8国内生产总值累计值(亿元),206504.3,990865.1,712845.4,460636.7第一产业增加值当季值(亿元),10186.2,27461.6,19798,14437.6第一产业增加值累计值(亿元),10186.2,70466.7,43005,23207Numpy的文件存储操作——举例Numpy的文件读取操作读取函数:np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)frame

:

文件、字符串或产生器,可以是.gz或.bz2的压缩文件dtype:

数据类型,可选delimiter

:

分割字符串,默认是任何空格unpack

:

如果True,读入属性将分别写入不同变量skiprows:跳过前x行,一般跳过第一行表头usecols:读取指定的列,索引,元组类型Numpy的文件读取操作——举例课堂小任务读取iris数据集中的花萼长度数据(已保存为csv格式),文件名:iris.csv。路径位于D:\Data\iris.csv并对其进行排序、去重,并求出和、均值、标准差、方差、最小值、最大值。Sepal.LengthCm:花萼长度,单位cm

Sepal.WidthCm:花萼宽度,单位cm

Petal.LengthCm:花瓣长度,单位cm

Petal.WidthCm;花瓣宽度,单位cm

Species:鸢尾花种类.第一步:读入数据第二步:排序、去重,并求出和、均值、标准差、方差、最小值、最大值numpy练习11、创建一个5x5的二维数组,其中边界值为1,其余值为0;代码如下:2.使用数字0将一个全为1的5x5二维数组包围,效果如下:代码如下:3.创建一个10x10的二维数组,并使得1和0沿对角线间隔放置,效果如下:代码如下:numpy练习24、创建一个0-10的一维数组,并将(1,9]之间的数全部反转成负数,效果如下:array([0,1,-2,-3,-4,-5,-6,-7,-8,-9,10])代码如下:5.创建一个5x5的矩阵,其中每行的数值范围从1到5,效果如下:array([[1.,2.,3.,4.,5.],[1.,2.,3.,4.,5.],[1.,2.,3.,4.,5.],[1.,2.,3.,4.,5.],[1.,2.,3.,4.,5.]])代码如下:6.创建一个长度为5的一维数组,并将其中最大值替换成0代码如下:numpy练习37.将二维数组的前两行进行顺序交换,效果如下:交换前[[01234][56789][1011121314][1516171819][2021222324]]交换后[[56789][01234][1011121314][1516171819][2021222324]]代码如下:8、找出给定一维数组中非0元素的位置索引代码如下:9.找出数组中缺失值的总数及所在位置,案例如下:array([[0.8,0.25,0.74,0.05,0.24,0.16,0.63,0.62,0.89,0.85],[0.61,0.76,0.26,0.3,0.82,0.74,0.96,0.64,0.58,0.06],[0.78,0.38,0.19,0.68,0.75,0.91,0.13,0.24,0.98,0.21],[0.47,0.12,0.34,0.06,0.46,0.69,0.1,nan,0.27,0.92],[0.83,0.01,0.63,0.15,0.52,0.52,0.02,0.,0.74,0.59],[0.56,0.66,0.15,nan,0.26,0.88,0.15,0.57,0.61,0.35],[0.33,0.58,0.06,0.94,0.58,0.53,0.97,0.02,0.32,nan],[0.84,0.71,0.65,0.42,0.44,0.96,0.37,0.65,0.6,0.17],[0.04,0.94,0.92,nan,0.7,0.38,0.28,0.45,0.35,0.93],[0.38,0.69,0.43,0.01,0.67,0.46,0.73,0.99,0.94,0.45]])缺失值总数:4缺失值索引:(array([3,5,6,8]),array([7,3,9,3]))代码如下:生成20人,每人7门课程的成绩任务一获取所有学生成绩中,每一科目中出现过的分数(因为可能有分数相同,但是只出一次),每一科目的单科成绩排名以及最高分任务一——解答生成20人,每人7门课程的成绩任务二每个学生的平均分排名以及获取平均分最高分学生序号——学生平均分成绩排名任务二——解答生成20人,每人7门课程的成绩任务三绘制20个同学的平均成绩条形图任务三——解答任务三——解答生成20人,每人7门课程的成绩任务四计算及格率,以及绘制及格所占的饼状图任务四——解答任务四——解答Pandas统计分析目录01Pandas库的理解02Series类型的基本操作

03Pandas库的DataFrame类型

04

Pandas库索引操作05Pandas库的数据类型操作

06Pandas库的数据排序和统计函数Pandas库的理解Pandas介绍Series类型Series类型的创建Pandas库的理解(1)importpandas

aspd引入模块Pandas库的理解(2)两种数据类型:Series,DataFramePandas库的理解(3)NumpyPandas基础数据类型关注数据的结构表达维度:数据间关系扩展数据类型关注数据的应用表达数据与索引间关系Pandas库的Series类型(1)Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。值索引Pandas库的Series类型(2)自定义索引Series类型的创建方法Series类型可以由如下类型创建:Python列表,index与列表元素个数一致标量值,index表达Series类型的尺寸Python字典,键值对中的“键”是索引,index从字典中进行选择操作ndarray,索引和数据都可以通过ndarray类型创建其他函数,range()函数等Series类型的创建方法——从标量值创建Series类型的创建方法——从字典类型创建Series类型的创建方法——从ndarray类型创建这也是非常常用的创建方式Series类型的基本操作基本操作概述

index和values操作

类似ndarray类型

类似Python字典操作Series类型的基本操作Series类型包括index和values两部分Series类型的操作类似ndarray类型Series类型的操作类似Python字典类型Series类型的基本操作——index和values操作(1)Series类型的基本操作——index和values操作(2)自动索引和基本索引并存,两种索引都可以使用,但在使用的时候要么全是自动索引、要么全是基本索引。Series类型的基本操作——类似ndarray类型Series类型的操作类似ndarray类型:索引方法相同,采用[]Numpy中运算和操作可用于Series类型可以通过自定义索引的列表进行切片可以通过自动索引进行切片,如果存在自定义索引,则一同被切片Series类型的基本操作——类似ndarray类型的切片和运算Series类型的基本操作——类似Python字典类型类似Python字典操作方式:通过自定义索引访问保留字in操作使用.get()方法Series类型的基本操作——通过index修改values的值通过基本索引和自动索引切片对values值进行修改并立即生效。Pandas库索引操作索引的理解索引类型的常用方法

重新索引Pandas库——索引Series和DataFrame的索引是Index类型Index对象是不可修改类型Pandas库——索引类型的常用方法方法说明.append(idx)连接另一个Index对象,产生新的Index对象.diff(idx)计算差集,产生新的Index对象.intersection(idx)计算交集.union(idx)计算并集.delete(loc)删除Loc位置处的元素.insert(loc,e)在loc位置增加一个元素ePandas库——索引类型的方法使用Pandas库——删除指定索引对象.drop()能够删除Series和DataFrame指定行或列索引Pandas库的数据类型操作——重新索引.reindex()能够改变或重排Series和DataFrame索引Pandas库的数据类型操作——重新索引reindex函数参数参数说明index,columns新的行列自定义索引fill_value重新索引中,用于填充缺失位置的值method填充方法,ffill当前值向前填充,bfill向后填充limit最大填充量copy默认True,生成新的对象;False时,新旧相等不复制Pandas库的数据类型操作——重新索引举例Pandas库的数据类型操作算术运算比较运算Pandas库数据的算术运算算术运算根据行列索引,补齐后运算,运算默认产生浮点数补齐时缺项填充NaN(空值)二维和一维、一维和零维间为广播运算采用+

‐*

/符号进行的二元运算产生新的对象Pandas库的数据的算术运算——+、-、*、/符号运算Pandas库的数据的算术运算——加减乘除的方法形式的运算方法说明.add(d,**argws)类型间加法运算,可选参数.sub(d,**argws)类型间减法运算,可选参数.mul(d,**argws)类型间乘法运算,可选参数.div(d,**argws)类型间除法运算,可选参数Pandas库的数据的算术运算——加减乘除的方法形式的运算(1)Pandas库的数据的算术运算——加减乘除的方法形式的运算(2)Pandas库数据的比较运算比较运算只能比较相同索引的元素,不进行补齐二维和一维、一维和零维间为广播运算采用>

<

>=

<=

==

!=等符号进行的二元运算产生布尔对象Pandas库的数据的比较运算(1)Pandas库的数据的比较运算(2)

读写文本文件1.文本文件读取使用read_table来读取文本文件。pandas.read_table(filepath,sep=’\t’)使用read_csv函数来读取csv文件。pandas.read_csv(filepath_or_buffer)csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数字和文本)。使用read_table来读取文本文件内容实操。1.文本文件读取encoding代表文件的编码格式,常用的编码有utf-8、utf-16、gbk、gb2312、gb18030等。如果编码指定错误数据将无法读取,IPython解释器会报解析错误。使用read_table来读取csv文件内容实操1.文本文件读取read_table和read_csv函数中的sep参数是指定文本的分隔符的,如果分隔符指定错误,在读取数据的时候,每一行数据将连成一片。2.文本文件储存文本文件的存储和读取类似,结构化数据可以通过pandas中的to_csv函数实现以csv文件格式存储文件。DataFrame.to_csv(path_or_buf=None,sep=’,’)数据库数据读取1.读写数据库数据数据库数据读取pandas提供了读取与存储关系型数据库数据的函数与方法。除了pandas库外,还需要使用SQLAlchemy库建立对应的数据库连接。SQLAlchemy配合相应数据库的Python连接工具(例如MySQL数据库需要安装mysqlclient或者pymysql库),使用create_engine函数,建立一个数据库连接。creat_engine中填入的是一个连接字符串。在使用Python的SQLAlchemy时,MySQL和Oracle数据库连接字符串的格式如下:

数据库产品名+连接工具名://用户名:密码@数据库IP地址:数据库端口号/数据库名称?charset=数据库数据编码read_sql既能够读取数据库中的某一个表,也能够实现查询操作。

pandas.read_sql(sql,con,index_col=None,coerce_float=True,columns=None)read_sql从数据库读取数据实操1.读写数据库数据2.数据库数据存储DataFrame.to_sql(name,con,if_exists=’fail’,index=True)参数名称说明name接收string。代表数据库表名。无默认。con接收数据库连接。无默认。if_exists接收fail,replace,append。fail表示如果表名存在则不执行写入操作;replace表示如果存在,将原数据库表删除,再重新创建;append则表示在原数据库表的基础上追加数据。默认为fail。index接收boolean。表示是否将行索引作为数据传入数据库。默认True。1.读写数据库数据DataFrame.to_sql(name,con,if_exists=’fail’,index=True)写入数据库实操1.读写数据库数据横向合并数据1.横向表堆叠横向堆叠,即将两个表在X轴向拼接在一起,可以使用concat函数完成,concat函数的基本语法如下:pandas.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)常用参数如下所示。参数名称说明objs接收多个Series,DataFrame,Panel的组合。表示参与链接的pandas对象的列表的组合。无默认。axis接收0或1。表示连接的轴向,默认为0。join接收inner或outer。表示其他轴向上的索引是按交集(inner)还是并集(outer)进行合并。默认为outer。axis=1代表横向堆叠,join方式为行索引的内连接或外连接1.横向表堆叠axis=1代表横向堆叠,join方式为行索引的内连接或外连接1.横向表堆叠当axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,可以使用join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分。在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补。当两张表完全一样时,不论join参数取值是inner或者outer,结果都是将两个表完全按照X轴拼接起来。1.横向表堆叠纵向合并数据1.纵向堆叠——concat函数使用concat函数时,在默认情况下,即axis=0时,concat做列对齐,将不同行索引的两张或多张表纵向合并。在两张表的列名并不完全相同的情况下,可join参数取值为inner时,返回的仅仅是列名交集所代表的列,取值为outer时,返回的是两者列名的并集所代表的列,其原理示意如图。不论join参数取值是inner或者outer,结果都是将两个表完全按照Y轴拼接起来axis=0代表纵向堆叠,join方式为列索引的内连接或外连接1.纵向堆叠——concat函数axis=0代表纵向堆叠,join方式为列索引的内连接或外连接1.纵向堆叠——concat函数append方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致。append方法的基本语法如下pandas.DataFrame.append(self,other,ignore_index=False,verify_integrity=False)。常用参数如下所示。参数名称说明other接收DataFrame或Series。表示要添加的新数据。无默认。ignore_index接收boolean。如果输入True,会对新生成的DataFrame使用新的索引(自动产生)而忽略原来数据的索引。默认为False。verify_integrity接收boolean。如果输入True,那么当ignore_index为False时,会检查添加的数据索引是否冲突,如果冲突,则会添加失败。默认为False。1.纵向堆叠——append方法1.纵向堆叠——append方法merge合并数据主键合并数据主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的JOIN。针对同一个主键存在两张包含不同字段的表,将其根据某几个字段一一对应拼接起来,结果集列数为两个元数据的列数和减去连接键的数量。主键合并——merge函数和数据库的join一样,merge函数也有左连接(left)、右连接(right)、内连接(inner)和外连接(outer),但比起数据库SQL语言中的join和merge函数还有其自身独到之处,例如可以在合并过程中对数据集中的数据进行排序等。pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False)可根据merge函数中的参数说明,并按照需求修改相关参数,就可以多种方法实现主键合并。主键合并——merge函数默认连接方式为inner。left_on表示left参数接收数据用于合并的主键。right_on表示right参数接收数据用于合并的主键主键合并——merge函数左连接(left)、右连接(right)、内连接(inner)和外连接(outer)主键合并——merge函数Excel文件数据读取1.Excel文件读取pandas提供了read_excel函数来读取“xls”“xlsx”两种Excel文件。pandas.read_excel(io,sheetname=0,)read_excel读Excel文件实操1.Excel文件读取2.Excel文件储存将文件存储为Excel文件,可以使用to_excel方法。其语法格式如下:DataFrame.to_excel(excel_writer=None,sheetname=None’,na_rep=”,header=True,index=True,index_label=None,mode=’w’,encoding=None)to_csv方法的常用参数基本一致,区别之处在于指定存储文件的文件路径参数名称为excel_writer,并且没有sep参数,增加了一个sheetnames参数用来指定存储的Excelsheet的名称,默认为sheet1。to_excel写入Excel文件实操2.Excel文件储存使用分组聚合进行组内计算使用groupby方法拆分数据该方法提供的是分组聚合步骤中的拆分功能,能根据索引或字段对数据进行分组。其常用参数与使用格式如下:

DataFrame.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False,**kwargs)GroupBy对象常用的描述性统计方法用groupby方法分组后的结果并不能直接查看,而是被存在内存中,输出的是内存地址。实际上分组后的数据对象GroupBy类似Series与DataFrame,是pandas提供的一种对象。GroupBy对象常用的描述性统计方法如下。方法名称说明方法名称说明count计算分组的数目,包括缺失值。cumcount对每个分组中组员的进行标记,0至n-1。head返回每组的前n个值。size返回每组的大小。max返回每组最大值。min返回每组最小值。mean返回每组的均值。std返回每组的标准差。median返回每组的中位数。sum返回每组的和。GroupBy对象常用的描述性统计方法使用agg方法聚合数据agg,aggregate方法都支持对每个分组应用某函数,包括Python内置函数或自定义函数。同时这两个方法能够也能够直接对DataFrame进行函数应用操作。在正常使用过程中,agg函数和aggregate函数对DataFrame对象操作时功能几乎完全相同,因此只需要掌握其中一个函数即可。它们的参数说明如下表。

DataFrame.agg(func,axis=0,*args,**kwargs)

DataFrame.aggregate(func,axis=0,*args,**kwargs)参数名称说明func接收list、dict、function。表示应用于每行/每列的函数。无默认。axis接收0或1。代表操作的轴向。默认为0。agg方法求统计量可以使用agg方法一次求出当前数据中课时数和班级人数的总和与均值,如df[['课时数','班级人数']].agg([np.sum,np.mean])。对于某个字段希望只做求均值操作,而对另一个字段则希望只做求和操作,可以使用字典的方式,将两个字段名分别作为key,然后将NumPy库的求和与求均值的函数分别作为value,如df.agg({'课时数':np.sum,'班级人数':np.mean})。在某些时候还希望求出某个字段的多个统计量,某些字段则只需要求一个统计量,此时只需要将字典对应key的value变为列表,列表元素为多个目标的统计量即可,如detail.agg({'counts':np.sum,'amounts':[np.mean,np.sum]}))agg方法求统计量使用分组聚合进行组内计算(2)agg方法与自定义的函数在agg方法可传入自定义的函数。使用自定义函数实现班级个数乘以课时数:axis=1,针对这一行进行操作;默认情况下axis=0,针对的是这一列使用该函数agg方法与自定义的函数使用apply方法聚合数据apply方法类似agg方法能够将函数应用于每一列。不同之处在于apply方法相比agg方法传入的函数只能够作用于整个DataFrame或者Series,而无法像agg一样能够对不同字段,应用不同函数获取不同结果。DataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None,args=(),**kwds)参数名称说明func接收functions。表示应用于每行/列的函数。无默认。axis接收0或1。代表操作的轴向。默认为0。使用apply方法聚合数据使用transform方法聚合数据transform方法能够对整个DataFrame的所有元素进行操作。且transform方法只有一个参数“func”,表示对DataFrame操作的函数。同时transform方法还能够对DataFrame分组后的对象GroupBy进行操作,可以实现组内离差标准化等操作。小结1、agg、apply、transform三个函数都可以实现聚合数据的功能;2、都支持自定义函数;3、agg函数参数可以是字典,针对不同的列使用不同的函数;而apply、transform函数针对所有的列都使用同一个函数创建透视表使用povit_table函数创建透视表pivot_table函数常用参数及其说明利用pivot_table函数可以实现透视表,pivot_table()函数的常用参数及其使用格式如下:pands.pivot_table(data,values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,margins_name='All')参数名称说明data接收DataFrame。表示创建表的数据。无默认。values接收字符串。用于指定想要聚合的数据字段名,默认使用全部数据。默认为None。index接收string或list。表示行分组键。默认为None。columns接收string或list。表示列分组键。默认为None。aggfunc接收functions。表示聚合函数。默认为mean。margins接收boolearn。表示汇总(Total)功能的开关,设为True后结果集中会出现名为“ALL”的行和列。默认为True。dropna接收boolearn。表示是否删掉全为NaN的列。默认为False。

在不特殊指定聚合函数aggfunc时,会默认使用numpy.mean进行聚合运算,numpy.mean会自动过滤掉非数值类型数据。使用povit_table函数创建透视表可以通过指定aggfunc参数修改聚合函数。使用povit_table函数创建透视表和groupby方法分组的时候相同,pivot_table函数在创建透视表的时候分组键index可以有多个。使用povit_table函数创建透视表清洗数据检测与处理重复值pandas提供了一个名为drop_duplicates的去重方法。该方法只对DataFrame或者Series类型有效。这种方法不会改变数据原始排列,该方法不仅支持单一特征的数据去重,还能够依据DataFrame的其中一个或者几个特征进行去重操作。pandas.DataFrame(Series).drop_duplicates(self,subset=None,keep='first',inplace=False)参数名称说明subset接收string或sequence。表示进行去重的列。默认为None,表示全部列。keep接收特定string。表示重复时保留第几个数据。First:保留第一个。Last:保留最后一个。False:只要有重复都不保留。默认为first。inplace接收boolean。表示是否在原表上进行操作。默认为False。检测与处理重复值检测与处理重复值利用isnull或notnull找到缺失值数据中的某个或某些特征的值是不完整的,这些值称为缺失值。pandas提供了识别缺失值的方法isnull以及识别非缺失值的方法notnull,这两种方法在使用时返回的都是布尔值True和False。结合sum函数和isnull、notnull函数,可以检测数据中缺失值的分布以及数据中一共含有多少缺失值。isnull和notnull之间结果正好相反,因此使用其中任意一个都可以判断出数据中缺失值的位置。利用isnull或notnull找到缺失值利用isnull或notnull找到缺失值空值的处理方法1.删除法pandas中提供了简便的删除缺失值的方法dropnapandas.DataFrame.dropna(self,axis=0,how='any',thresh=None,subset=None,inplace=False)常用参数及其说明如下:参数名称说明axis接收0或1。表示轴向,0为删除观测记录(行),1为删除特征(列)。默认为0。how接收特定string。表示删除的形式。any表示只要有缺失值存在就执行删除操作。all表示当且仅当全部为缺失值时执行删除操作。默认为any。subset接收类array数据。表示进行去重的列∕行。默认为None,表示所有列/行。inplace接收boolean。表示是否在原表上进行操作。默认为False。1.删除法2.替换法替换法是指用一个特定的值替换缺失值。pandas库中提供了缺失值替换的方法名为fillna,其基本语法如下。pandas.DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None)常用参数及其说明如下:参数名称说明value接收scalar,dict,Series或者DataFrame。表示用来替换缺失值的值。无默认。method接收特定string。backfill或bfill表示使用下一个非缺失值填补缺失值。pad或ffill表示使用上一个非缺失值填补缺失值。默认为None。axis接收0或1。表示轴向。默认为1。inplace接收boolean。表示是否在原表上进行操作。默认为False。limit接收int。表示填补缺失值个数上限,超过则不进行填补。默认为None。2.替换法标准化数据离差标准化数据

离差标准化是对原始数据的一种线性变换,结果是将原始数据的数值映射都[0,1]区间之间,转换公式为:离差标准化数据

离差标准化数据

标准差标准化数据标准差标准化也叫零均值标准化或分数标准化,经过该方法处理的数据均值为0,标准差为1,转化公式为:标准差标准化数据小数定标标准化数据通过移动数据的小数位数,将数据映射到区间[-1,1]之间,移动的小数位数取决于数据绝对值得最大值。转化公式如下:小数定标标准化数据转换与处理时间序列数据转换字符串时间为标准时间Timestamp类型在多数情况下,对时间类型数据进行分析的前提就是将原本为字符串的时间转换为标准时间类型。Timestamp类常用属性在多数涉及时间相关的数据处理,统计分析的过程中,需要提取时间中的年份,月份等数据。使用对应的Timestamp类属性就能够实现这一目的。结合Python列表推导式,可以实现对DataFrame某一列时间信息数据的提取。属性名称说明year年month月day日hour小时minute分钟second秒提取时间中的年份,月份、小时等数据。Timestamp类常用属性加减时间数据Timedelta是时间相关的类中的一个异类,不仅能够使用正数,还能够使用负数表示单位时间,例如1秒,2分钟,3小时等。使用Timedelta类,配合常规的时间相关类能够轻松实现时间的算术运算。目前Timedelta函数中时间周期中没有年和月。所有周期名称,对应单位及其说明如下表所示。周期名称单位说明周期名称单位说明weeks无星期secondss秒daysD天millisecondsms毫秒hoursh小时microsecondsus微妙minutesm分nanosecondsns纳秒加减时间数据加减时间数据Pandas训练01练习011.将下面的字典创建为DataFramedata={"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","Python"],"score":[1,2,np.nan,4,5,6,7,10]}练习01——解答练习022.提取含有字符串"Python"的行3.输出df的所有列名练习03练习044.修改第二列列名为'popularity'练习055.统计grammer列中每种编程语言出现的次数练习066.将空值用上下值的平均值填充Pandas训练02练习077.提取popularity列中值大于3的行练习088.按照grammer列进行去除重复值练习099.计算popularity列平均值练习1010.将grammer列转换为list练习1111.将popularity列转换为int练习1212.将DataFrame保存为EXCELPandas训练03练习1313.查看数据行列数练习1414.提取popularity列值大于3小于7的行练习1515.交换两列位置练习1616.提取popularity列最大值所在行练习1717.查看最后5行数据练习1818.删除最后一行数据Pandas训练04练习1919.添加一行数据['Perl',6.6]练习2020.对数据按照"popularity"列值的大小进行排序练习2121.统计grammer列每个字符串的长度练习2222.读取本地EXCEL数据练习2323.将数据根据学历进行分组并计算平均薪资练习2424.新增一列根据salary将数据分为三组Pandas训练05练习2525.按照salary列对数据降序排列练习2626.将createTime列设置为索引练习2727.将第8行数据添加至末尾练习2828.将salary列类型转换为浮点数练习2929.查看每种学历出现的次数任务一

企业收入的多样性【题目描述】一个企业的产业收入多样性可以仿照信息熵的概念来定义收入熵指标:I=−∑i

温馨提示

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

评论

0/150

提交评论