Python中的Numpy 面向数组编程常见操作

 更新时间:2022年7月11日 14:43  点击:394 作者:王小王_123

数组编程

使用Numpy数组可以使你利用简单的数组表达式完成多项数据操作任务,而不需要编写大量的循环,这个极大的帮助了我们高效的解决问题。我们都知道向量化的数组操作比纯Python的等价实现在速度这一方面快很多,至于多少(一到两个数量级)甚至更多,生活需要慢节奏,但是计算就不可以了,掌握高效的计算模型,可以让数据分析如虎添翼!

简单例子

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

逻辑条件作为数组操作

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

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

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

数学和统计方法

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

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

基础数组的统计方法:

sum

计算总数

 

mean

数学平均,0长度的数组平均值为NaN

std,var

标准差与方差

min,max

最小值和最大值

argmin,argmax

最小值和最大值的位置

cumsum

从0开始元素累计和(等差数列求和)

cumprod

从1开始元素累计积(阶乘)

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

布尔数组的方法

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

排序

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

唯一值和其他的逻辑集合

介绍:

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交集的元素

到此这篇关于Python中的Numpy 面向数组编程常见操作的文章就介绍到这了,更多相关Python Numpy 内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.51cto.com/u_15172991/5428150

[!--infotagslink--]

相关文章

  • python opencv 画外接矩形框的完整代码

    这篇文章主要介绍了python-opencv-画外接矩形框的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-04
  • php svn操作类

    以前我们开发大型项目时都会用到svn来同步,因为开发产品的人过多,所以我们会利用软件来管理,今天发有一居然可以利用php来管理svn哦,好了看看吧。 代码如下 ...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • 最炫Python烟花代码全解析

    2022虎年新年即将来临,小编为大家带来了一个利用Python编写的虎年烟花特效,堪称全网最绚烂,文中的示例代码简洁易懂,感兴趣的同学可以动手试一试...2022-02-14
  • python中numpy.empty()函数实例讲解

    在本篇文章里小编给大家分享的是一篇关于python中numpy.empty()函数实例讲解内容,对此有兴趣的朋友们可以学习下。...2021-02-06
  • python-for x in range的用法(注意要点、细节)

    这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-10
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • python实现b站直播自动发送弹幕功能

    这篇文章主要介绍了python如何实现b站直播自动发送弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...2021-02-20
  • python Matplotlib基础--如何添加文本和标注

    这篇文章主要介绍了python Matplotlib基础--如何添加文本和标注,帮助大家更好的利用Matplotlib绘制图表,感兴趣的朋友可以了解下...2021-01-26
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • python 计算方位角实例(根据两点的坐标计算)

    今天小编就为大家分享一篇python 计算方位角实例(根据两点的坐标计算),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • C#操作config文件的具体方法

    这篇文章介绍了在C#中对config文件的操作,有需要的朋友可以参考一下...2020-06-25
  • python实现双色球随机选号

    这篇文章主要为大家详细介绍了python实现双色球随机选号,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-02
  • python中使用np.delete()的实例方法

    在本篇文章里小编给大家整理的是一篇关于python中使用np.delete()的实例方法,对此有兴趣的朋友们可以学习参考下。...2021-02-01
  • 使用Python的pencolor函数实现渐变色功能

    这篇文章主要介绍了使用Python的pencolor函数实现渐变色功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-09