数据分析应用项目化教程(Python) 课件 任务3.5 多维数组的数据处理与运算2_第1页
数据分析应用项目化教程(Python) 课件 任务3.5 多维数组的数据处理与运算2_第2页
数据分析应用项目化教程(Python) 课件 任务3.5 多维数组的数据处理与运算2_第3页
数据分析应用项目化教程(Python) 课件 任务3.5 多维数组的数据处理与运算2_第4页
数据分析应用项目化教程(Python) 课件 任务3.5 多维数组的数据处理与运算2_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第三章使用NumPy进行多维数组创建与运算

任务3.5多维数组的数据处理与运算通用函数numpy中的nan和infnan的注意点axis参数理解通用函数

NumPy提供熟悉的数学函数,例如sin,cos和exp。在NumPy中,这些被称为“通用函数”。在NumPy中,这些函数在数组上按元素进行运算,产生数组作为输出。一元通用函数:接收一个数组参数;二元通用函数:接收二个数组参数通⽤函数(即ufunc)是⼀种对ndarray中的数据执⾏元素级运算的函数。通用函数的输入是一组标量,输出也是一组标量。一元通用函数函数使用说明abs(a)、fabs(a)逐个元素地计算整数、浮点数或复数的绝对值sqrt(a)计算每个元素的平方根(与a**0.5相等)square(a)计算每个元素的平方(与a**2相等)exp(a)计算每个元素的自然指数值e^x次方log(a)、log10(a)、log2(a)、log1p(a)分别为自然对数(底数为e)、底数为10的log、底数为2的log,log(1+x)sign(a)计算每个元素的符号值:1(正数)、0(零)、-1(负数)ceil(a)计算每个元素的最高整数值(即大于或者等于给定数值的最小整数)modf(a)分别将数组的小数部分和整数部分按数组形式返回二元通用函数函数使用说明add(a,b)将数组a和数组b中对应位置的元素相加subtract(a,b)从a数组中减去b数组中的元素multiply(a,b)将数组a与数组b相乘divide(a,b),floor_divide(a,b)将数组a除于数组b;数组a整除数组b(舍去余数)maximum(a,b)、fmax(a,b)将数组a与数组b中对应位置的元素比较,返回元素级的最大值;比较数组a和b,并返回一个包含按元素的最大值的新数组,如果两个元素相同,则返回第一个。minimum(a,b)、fmin(a,b)将数组a与数组b中对应位置的元素比较,返回元素级的最小值;比较数组a和b,并返回一个包含按元素的最小值的新数组,如果两个元素相同,则返回第一个。mod(a,b)计算数组a与数组b中相应元素的相除后的余数(求模计算)copysign(a,b)将b数组中各元素的符号赋值给a数组中的对应元素greater、greater_equal、less、less_equal、equal、not_equal、logical_and、logical_or、logical_xor执行元素级的比较运算,最终产生布尔型数组,相当于运算符>、≥、<、≤、==、!=;执行元素级的真值逻辑运算,相当于与&,或|,异或^numpy中的nan和infnan(NAN,Nan):不是一个数字,数据分析中,nan常被用作表示数据缺失值。什么时候numpy中会出现nan:

当我们读取本地的文件为float的时候,如果有缺失,就会出现nan;

当做了一个不合适的计算的时候,比如inf-infnp.sqrt(-3)inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷什么时候会出现inf包括(-inf,+inf)当做了一个不合适的计算的时候,比如np.divide(-3,0)nan的注意点1.两个nan是不相等的In[2]:np.nan==np.nanOut[2]:False2.np.nan!=np.nanIn[3]:np.nan!=np.nanOut[3]:True3.利用以上特性,判断数组中nan个数In[4]:t=np.array([1,2,np.nan,np.nan])In[5]:np.count_nonzero(t!=t)Out[5]:24.如何判断ndarray对象中哪些元素是nan?通过np.isnan(t)来判断,返回布尔数组。有了布尔数组作为索引,就可以把所有nan替换掉。In[6]:np.isnan(t)Out[6]:array([False,False,True,True])In[7]:t[np.isnan(t)]=0In[8]:tOut[8]:array([1.,2.,0.,0.])5.nan和任何值计算都为nanIn[9]:np.nan+0Out[9]:nan6.nan或者inf的类型是floatIn[10]:type(np.nan)Out[10]:floatIn[11]:type(np.inf)Out[11]:floatnan值替换

在一组数据中单纯的把nan替换为0,合适么?会带来什么样的影响?比

如,全部替换为0后,替换之前的平均值如果大于0,替换之后的均值肯定会变小,所以更一般的方式是把缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行。那么问题来了:

如何计算一组数据的中值或者是均值?对列、行做循环,逐个元素判断来计算。

在对numpy数组求平均np.mean()时,如果数组中有nan,此时求得的结果为nan。那么该如何忽略其中的nan来计算呢?此时可以用另一个方法:np.nanmean(),np.median,np.nanmax(),np.nanmin()等。ndarry缺失值填充列均值,并且不使用np.nanmean(),如何处理呢?axis参数理解小结通用函数:以逐元素方式操作多维数组的函数,支持数组广播。有数学运算函数、三角函数、位运算函数、比较函数、浮

温馨提示

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

评论

0/150

提交评论