Python基础与大数据应用第九章-数据分析基础-课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python基础与大数据应用第九章-数据分析基础-课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 基础 数据 应用 第九 分析 课件
- 资源描述:
-
1、第九章 数据分析基础北京西普阳光教育科技股份有限公司 中国IT教育解决方案专家 2018年10月制作:丁辉1目 录 Contents01numpy模块02pandas模块030407项目训练小结2numpy模块01numpynumpy模块模块 numpy是一个用Python实现的科学计算包,专为进行严格的数值处理而产生,尤其是对大型多维数组和矩阵的支持,并且有一个大型的高级数学函数库来操作这些数组。numpy提供了许多高级的数值编程工具,如矩阵数据类型、矢量处理,以及精密的运算库。numpy多为很多大型金融公司和核心的科学计算组织使用,具有运算速度快、效率高、节省空间等特点。45 numpy中
2、最重要的对象就是ndarray的多维数组,它是一组相同类型元素的集合,元素可用从零开始的索引来访问。多维数组ndarray中的每个元素在内存中连续存放并占同样大小存储空间。多维数组ndarray有以下几个属性:ndarray.size:数组中全部元素的数量;ndarray.dtype:数组中数据元素的类型(int8,uint8,int16,uint16,int32,uint32,int64,uint64,float16,float32,float64,float128,complex64,complex128,complex256,bool,object,string,unicode等);nd
3、array.itemsize:每个元素占的字节数;ndarray.ndim:数组的维度;ndarray.shape:数组各维度大小。ndarrayndarray类型数组类型数组6u创建一维数组(1)用array()函数创建一维数组 创建数组最简单的方法就是使用array()函数。它将输入的数据(元组、列表、数组或其它序列的对象)转换成多维数组ndarray,数组元素类型自动推断出或显式制定dtype类型,默认直接复制输入的数据,然后产生一个新的多维数组ndarray。import numpy as np#导入numpy模块,重命名为np x=np.array(1,2,3,4)#创建一维数组x
4、x array(1,2,3,4)#一维数组1,2,3,4 print(x)#输出 x值1 2 3 4 print(x.size)#输出 x 全部元素的数量4 print(x.dtype)#输出 x中每个元数的类型int64 print(x.itemsize)#输出 x中每个元素占几个字节8 x.ndim#显示x的维度1 x.shape#显示x的形状,行上共4个元素 (4,)#array()函数参数为列表,创建数组,指定类型为float64 y=np.array(1,2,3,4,5,dtype=float64)yarray(1.,2.,3.,4.,5.)#1.,2.,3.,4.,5.中的点表示数
5、组中元素类型是浮点型 print(y)1.2.3.4.5.y.dtypedtype(float64)y.ndim 1 ndarrayndarray类型数组类型数组7u创建一维数组(2)用arange()函数创建一维数组 arrange()函数用于创建等差数组,使用频率非常高,arange()非常类似Python中range()函数,两者的区别在于,arange()返回的是一个数组,而range()返回的是list,并且是整型。import numpy as np np.arange(5)#arange()输出的是含有04,5个元素的数组array(0,1,2,3,4)np.arange(1,5
6、)array(1,2,3,4)np.arange(2,5)array(2,3,4)np.arange(1,10,2)#第一个参数起点,第二个参数终点,第三个参数步长array(1,3,5,7,9)np.arange(1,10,2,dtype=np.int16)#指定数据元素的类型为int16array(1,3,5,7,9,dtype=int16)ndarrayndarray类型数组类型数组8u创建N维数组(1)使用array()函数创建 import numpy as np x1=np.array(1,2,3,4)#创建一维数组 x1array(1,2,3,4)print(x1.ndim)#输
7、出 x1的维度1 print(x1.shape)(4,)x2=np.array(1,2,3,4)#创建二维数组,注意参数的形式 x2array(1,2,3,4)print(x2.ndim)#输出 x2的维度2 print(x2.shape)(1,4)x3=np.array(1,2,3,4,5,6,7,8)#创建二维数组 print(x3)1 2 3 4 5 6 7 8 print(x3.dtype)int64 print(x3.ndim)#输出 x3的维度2ndarrayndarray类型数组类型数组 print(x3.shape)#输出 x3各维度大小,(2,4)表示2行 4列(2,4)y=
8、np.array(1,2,3,4,5,6,7,8,0,0,0,0,9,9,9,9)#创建三维数组 print(y)1 2 3 4 5 6 7 8 0 0 0 0 9 9 9 9 print(y.dtype)int64 print(y.ndim)#输出 y的维度3 print(y.shape)#输出y各维度大小,(2,2,4)表示2维2行4列(2,2,4)9u创建N维数组(2)使用reshape()函数创建 reshape()函数可以实现给数组一个新的形状而不改变其数据,通过reshape()生成的新数组和原始数组公用一个内存,也就是说,假如更改一个数组的元素,另一个数组也将发生改变。常与ara
9、nge()函数一起使用来构造多维数组。import numpy as np yo=np.arange(1,9)print(yo)1 2 3 4 5 6 7 8#创建由18,8个元素组成的一维数组,并改变形状为2行4列二维数组 y1=np.arange(1,9).reshape(2,4)print(y1)1 2 3 4 5 6 7 8#reshape(x,y,z)中任意1参数值用-1 替换,此轴长度自动计算 y2=np.arange(1,9).reshape(-1,4)print(y2)1 2 3 4 5 6 7 8 y3=np.arange(1,9).reshape(2,-1)print(y3
10、)1 2 3 4 5 6 7 8 y4=np.arange(1,9).reshape(1,-1)#1行,自动计算为8列 print(y4)1 2 3 4 5 6 7 8 y5=np.arange(1,5).reshape(-1,1)#1列,自动计算为4行 print(y5)1 2 3 4ndarrayndarray类型数组类型数组 y6=np.arange(1,9).reshape(-1)print(y6)1 2 3 4 5 6 7 8 y7=np.arange(1,25).reshape(2,3,4)print(y7)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1
11、6 17 18 19 20 21 22 23 24 print(y7.dtype)#数组中数据元素的类型是64位整型int64 print(y7.ndim)#3维数组3 print(y7.shape)#数组各维度大小(2,3,4)print(y7.size)#数组中全部元素的数量24个24 print(y7.itemsize)#每个元素占8个字节8 print(y7.reshape(-1)#输出y7数组变形为1维的结果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2410u创建数组的其它常用函数ndarrayndarr
12、ay类型数组类型数组函数名称功能说明np.ones()根据指定的形状和类型生成全1的数组np.zeros()生成全0的数组np.empty()创建空数组,只分配存储空间,不填充数据,随机值np.random.randint(x,y,(m,n)创建x起始值,y截止值,m行n列的随机整数数组np.linspace(x,y,z)等间距生成 x起始值,y截止值,z个数的一维数组 import numpy as np print(np.ones(2,3,4),dtype=np.int8)#2维3行4列全1数组,指定数据类型为int81 1 1 11 1 1 11 1 1 1 1 1 1 11 1 1 1
13、1 1 1 1 print(np.zeros(2,3,4),dtype=np.int8)#2维3行4列全0数组,指定数据类型为int80 0 0 00 0 0 00 0 0 0 0 0 0 00 0 0 00 0 0 0print(np.empty(2,3,4),dtype=np.int8)#2维3行4列全空数组,数据类型为int80 0 0 00 0 0 00 0 0 0 0 0 0 00 0 0 00 0 0 0 print(np.random.randint(0,9,(3,4)#大于等于0小于9,3行4列的随机整数数组0 3 4 32 5 5 03 6 4 5 print(np.rand
14、om.randint(0,9,size=(3,4)4 5 1 27 1 7 80 4 8 6 print(np.random.randint(9,size=(3,4)4 1 4 31 6 6 42 8 5 7 print(np.random.rand(3,4)#随机样本位于0,1),生成3行4列的随机实数数组 0.96254165 0.56234931 0.33305427 0.61655296 0.61970155 0.98179923 0.66314103 0.16168549 0.89932954 0.46638002 0.38740938 0.61592195 print(np.ran
15、dom.randn(3,4)#从标准正态分布中返回样本值,生成3行4列的随机实数数组-1.30977545 0.47668467 0.11054181 0.93487926-0.49593833-0.64846104 0.25832515-1.82852527-0.86807899 1.25805438-0.16311422 0.75200323 print(np.linspace(-2,2,5)#起点为-2,终点为2,取5个点-2.-1.0.1.2.print(np.linspace(-2,8,5)#起点为-2,终点为8,取5个点-2.0.5 3.5.5 8.11u数组的运算ndarrayn
16、darray类型数组类型数组(1)数组的基本运算#数组的+、-、*、/四则运算,要求参与运算的数组要同样大小,即维度和元素个数相同 a=np.array(np.arange(1,5)b=a aarray(1,2,3,4)barray(1,2,3,4)print(a+b)#对应元素进行运算2 4 6 8 print(a-b)0 0 0 0 print(a*b)1 4 9 16 print(a/b)1 1 1 1 print(a+2)#每个元素都进行同样的运算3 4 5 6 print(a-2)-1 0 1 2 print(a*2)2 4 6 8 print(a/2)0 1 1 2 c=np.ar
17、ray(np.arange(1,9).reshape(2,4)d=c carray(1,2,3,4,5,6,7,8)darray(1,2,3,4,5,6,7,8)print(c+d)2 4 6 8 10 12 14 16 print(c-d)0 0 0 0 0 0 0 0 print(c*d)1 4 9 16 25 36 49 64 print(c/d)1 1 1 1 1 1 1 1 print(c+2)3 4 5 6 7 8 9 10 print(c-2)-1 0 1 2 3 4 5 6 print(c*2)2 4 6 8 10 12 14 16 print(c/2)0 1 1 2 2 3
18、3 412u数组的运算ndarrayndarray类型数组类型数组(2)数组运算的基本函数数组运算的基本函数是指能同时对数组中所有元素进行运算的函数,主要包括一元函数和二元函数。一元函数有平方square()、平方根sqrt()、绝对值abs()/fabs()、对数log()/log10/log2()、符号sign()、是否为NaN isnan()、是否是有穷 isinf()、三角函数cos()/cosh()/sin()/sinh()/tan()/tanh()、四舍五入rint()、整数和小数分离,作两个数组返回modf();二元函数有元素级加法add(array1,array2)、元素级减法
19、subtract(array1,array2)、元素级乘法multiply(array1,array2)、元素级除法divide(array1,array2)、元素级指数power(array1,array2)、元素级最大/最小值maximum/minimum(array1,aray2)等函数。import numpy as np a=np.array(np.arange(1,9).reshape(2,4)aarray(1,2,3,4,5,6,7,8)b=np.square(a)#一元函数square(),计算平方 print(b)1 4 9 16 25 36 49 64 c=np.sqrt(
20、b)#一元函数sqrt(),计算平方根 print(c)1.2.3.4.5.6.7.8.d=np.array(1.22,3.44,5,6.21,8.99,7,4,.82)print(d)1.22 3.44 5.6.21 8.99 7.4.0.8213u数组的运算ndarrayndarray类型数组类型数组(2)数组运算的基本函数 print(np.add(a,a)#二元函数add(array1,array2),计算和 2 4 6 8 10 12 14 16 print(np.subtract(a,a)#二元函数subtract(array1,array2),计算差0 0 0 0 0 0 0 0
21、 print(np.multiply(a,a)#二元函数multiply(array1,array2),计算积 1 4 9 16 25 36 49 64 print(np.divide(a,a)#二元函数divide(array1,array2),计算商1 1 1 1 1 1 1 114u数组的运算ndarrayndarray类型数组类型数组(3)数学和统计函数numpy中有一组数学函数可以实现对整个数组或某个轴向的数据进行统计计算,如求和sum()、求平均数mean()、标准差std()等函数,同时mean()和sum()这类函数可以接受一个axis参数(用于计算该轴向上的统计值),最终结果
22、是一个少一维的数组。其它的常用函数还有求方差var()、最小值min()、最大值max()、最小值索引argmin()、最大值索引argmax()等。import numpy as np a=np.array(np.arange(1,9).reshape(2,4)aarray(1,2,3,4,5,6,7,8)np.sum(a)#数组所有元素和36 a.sum()36 a.sum(axis=1)#“axis=1”对行上的数据进行汇总求和,即数组每行所有元素和array(10,26)np.sum(a,axis=1)array(10,26)a.sum(1)array(10,26)a.sum(axis
23、=0)#“axis=0”对列上的数据进行汇总求和,即数组每列所有元素和array(6,8,10,12)np.sum(a,axis=0)array(6,8,10,12)a.sum(0)array(6,8,10,12)np.mean(a)#数组所有元素和平均值4.5 a.mean()4.515u数组的运算ndarrayndarray类型数组类型数组(3)数学和统计函数#axis=1对行上的数据进行汇总求平均值,即数组每行所有元素平均值 a.mean(axis=1)array(2.5,6.5)#axis=0对列上的数据进行汇总求平均值,即数组每列所有元素平均值 a.mean(axis=0)array
24、(3.,4.,5.,6.)aarray(1,2,3,4,5,6,7,8)a.cumsum()#数组所有元素累积和array(1,3,6,10,15,21,28,36)a.cumsum(1)#数组行累积和array(1,3,6,10,5,11,18,26)a.cumsum(0)#数组列累积和array(1,2,3,4,6,8,10,12)a.cumprod()#数组所有元素累积积array(1,2,6,24,120,720,5040,40320)a.cumprod(1)#数组行累积积array(1,2,6,24,5,30,210,1680)a.cumprod(0)#数组列累积积array(1,2
25、,3,4,5,12,21,32)16matrixmatrix类型矩阵类型矩阵 N维数组ndarray和矩阵类型matrix是numpy中两个最重要的数据类型,它们是很多基于numpy数值计算的基础,因此学习并理清两者的关系非常重要,特别是程序中同时混杂这两种类型,还夹带着一些加减乘除的运算时,就更容易混淆。N维数组ndarry,简称数组array。而矩阵类型matrix其实也是一种array,只不过是维数为2的特殊array,因此,可以说在numpy中二维数组就是矩阵,矩阵也有与数组一样常见的几个属性,但二者分别是两种类型。matrix的维数是固定的永远是2,这点和一般array显著不同,即便
展开阅读全文