资讯专栏INFORMATION COLUMN

Python Numpy面向数组编程该怎么进行操作

89542767 / 211人阅读


  小编写这篇文章的主要目的,就是给大家来做一个详细的介绍,介绍关于Python Numpy的一些知识,比如在面向数组编程的时候,我们需要怎么进行操作,下面就给大家详细解答下。


  数组编程


  使用Numpy数组可以使你利用简单的数组表达式完成多项数据操作任务,而不需要编写大量的循环,这个极大的帮助了我们高效的解决问题。


  我们都知道向量化的数组操作比纯Python的等价实现在速度这一方面快很多,至于多少(一到两个数量级)甚至更多,生活需要慢节奏,但是计算就不可以了,掌握高效的计算模型,可以让数据分析如虎添翼!


  简单例子


  我们生成从-3.14--3.14,按照0.01的间隔生成,最后计算表达式X^2+Y^2的值

01.png

  逻辑条件作为数组操作


  numpy.where函数是三元表达式x if condition else y的向量化版本,假设我们有一个布尔值数组和两个数值数组

02.png

  首先我们要明确的是我们自己去写这个逻辑来进行判断的话就比较的失败,因为遇到比较大的数组,速度会比较的慢,因为所有的代码工作都是解释器Python代码完成的,其次如果是多维的那就无法凑效了,但是我们使用np.where就可以简单的完成。


  在np.where的第二个和第三个参数并需要数组,它们可以是标量,where在数据分析中的一个典型用法就是根据一个数组来生成一个新的数组。假设你有一个随机生成的矩阵数据,并且你想要其中的正值都有替换为2,所有的负数都替换为-2,使用这个函数轻松解决。

03.png

  首先我们要明确的是我们自己去写这个逻辑来进行判断的话就比较的失败,因为遇到比较大的数组,速度会比较的慢,因为所有的代码工作都是解释器Python代码完成的,其次如果是多维的那就无法凑效了,但是我们使用np.where就可以简单的完成。


  在np.where的第二个和第三个参数并需要数组,它们可以是标量,where在数据分析中的一个典型用法就是根据一个数组来生成一个新的数组。假设你有一个随机生成的矩阵数据,并且你想要其中的正值都有替换为2,所有的负数都替换为-2,使用这个函数轻松解决。

04.png

  数学和统计方法


  许多关于计算整个数组统计值或关于轴向数据的数据函数,可以作为数组类型的方法被调用。你可以使用聚合函数(通常也叫缩减函数),比如sum,mean,STD(标准差)既可以直接调用也可以使用顶层的numpy函数

  对于统计方法我们的案例其实差不多,至于怎样去了解那就需要自己去琢磨了,下面有一个基础数组的统计方法


  基础数组的统计方法:


  一行代码计算1+2+....10数之和

05.png

  布尔数组的方法


  sum通常可以计算布尔值数组中true的个数,对于布尔数组,有两个非常常用的方法any和all。any用于检查数组中是否至少有一个true,如果有一个以上那么它就会返回true,any检查是否每一个值都是true,如果有一个不是true那就返回false。


  排序


  和Python类建列表相似,numpy数组可以使用sort方法按照位置排序

06.png

  唯一值和其他的逻辑集合


  介绍:


  numpy包含一些针对一维ndarray的基础集合操作。常用的一个方法是np.unique返回的是包含数组唯一的排好序的集合,首先集合肯定是唯一的,那么我们在进行排序,解决它的无序性


  应用场景假设有一个数组里面有很多值,而且有大量的重复的值我们需要对其进行排序,就可以使用这个方法了,下面是一些数组集合的操作


  数组集合操作:


  unique(x)计算X的唯一值,并排序intersect1d(x,y)计算X和Y的交集,并排序union1d(x,y)计算X和Y的并集,并排序in1d(x,y)计算X中的元素是否包含在Y中,返回一个布尔值数组setdiff1d(x,y)差集,在X中但不在Y中的元素setxor1d(x,y)异或集,在X或Y中,但不属于X,Y交集的元素

      

      综上所述,小编就为大家介绍到这里了,希望能给各位读者

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127994.html

相关文章

  • [翻译]使用Python一步一步地来进行数据分析

    摘要:原文链接译文链接使用一步一步地来进行数据分析翔你已经决定来学习,但是你之前没有编程经验。在我看来精通用开发好的软件才能够高效地进行数据分析,这观点是没有必要的。 原文链接:Step by step approach to perform data analysis using Python 译文链接:使用Python一步一步地来进行数据分析--By Michael翔 你已经决定来学习P...

    forsigner 评论0 收藏0
  • 学习Python:做数据科学还是网站开发?

    摘要:属于前一种,而且日益被用于数学计算机器学习和多种数据科学应用。近来,由于拥有多个针对机器学习自然语言处理数据视觉化数据探索数据分析和数据挖掘的插件,丰富的数据科学生态体系得到了较大的发展,甚至有将数据科学社区化的趋势。 译者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,发布时间是10月29日。译者一...

    neu 评论0 收藏0
  • Python中的十大图像处理工具

    摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...

    yuanxin 评论0 收藏0
  • Python 数据科学常用包 (一) Numpy

    摘要:是什么今天开始会陆续为大家带来数据科学常用包的基础用法数据分析的工作涉及到大量的数值运算,一个高效方便的科学计算工具是必不可少的。 NumPy是什么? 今天开始会陆续为大家带来数据科学常用包的基础用法 数据分析的工作涉及到大量的数值运算,一个高效方便的科学计算工具是必不可少的。Python语言一开始并不是设计为科学计算使用的语言,随着越来越多的人发现Python的易用性,逐渐出现了关于...

    Dean 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<