Python中的Numpy面向数组编程常见操作实例分析

发布时间:2022-07-11 13:36:04 作者:iii
来源:亿速云 阅读:131

这篇文章主要介绍“Python中的Numpy面向数组编程常见操作实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中的Numpy面向数组编程常见操作实例分析”文章能帮助大家解决问题。

数组编程

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

简单例子

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

Python中的Numpy面向数组编程常见操作实例分析

Python中的Numpy面向数组编程常见操作实例分析

逻辑条件作为数组操作

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

Python中的Numpy面向数组编程常见操作实例分析

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

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

Python中的Numpy面向数组编程常见操作实例分析

数学和统计方法

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

Python中的Numpy面向数组编程常见操作实例分析

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

基础数组的统计方法:

sum

计算总数

 

mean

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

std,var

标准差与方差

min,max

最小值和最大值

argmin,argmax

最小值和最大值的位置

cumsum

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

cumprod

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

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

Python中的Numpy面向数组编程常见操作实例分析

布尔数组的方法

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

排序

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

Python中的Numpy面向数组编程常见操作实例分析

唯一值和其他的逻辑集合

介绍:

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面向数组编程常见操作实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. Python Numpy库对数组的操作案例
  2. Numpy如何对数组进行操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python numpy

上一篇:Java中对象池怎么实现

下一篇:网关Gateway过滤器如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》