zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Numpy库的简单用法(3)

numpy 简单 用法
2023-06-13 09:17:00 时间

1、使用数组进行面向数组编程(续)

(3)布尔值数组的方法

根据布尔值数组的特点,True会被强制为1,False会被强制为0,因此可以计算布尔值数组中True的个数;并且对布尔值数组有两个有用的方法anyall。any检查数组中是否至少有一个True,all检查是否全都是True。

(4)排序

可以使用sort方法进行排序,与python内建的列表一样。

(5)唯一值与其他集合逻辑

numpy中包含一些关于集合的操作方法,有:

方法

描述

unique(x)

计算x的唯一值,并排序

intersect1d(x, y)

计算x和y的交集,并排序

union1d(x, y)

计算x和y的并集,并排序

in1d(x, y)

计算x中的元素是否包含在y中,返回一个布尔数组

setdiff1d(x, y)

差集,在x中但不在y中的x元素

setxor1d(x, y)

异或集,在x或y中,但不属于x, y交集的元素

2、线性代数

线性代数,比如矩阵的乘法、分解、行列式等方阵数学,是所有数组类库的重要组成部分。numpy的数组方法和numpy命名空间中都有一个函数dot,用于矩阵操作。

并且numpy.linalg拥有一个矩阵分解的标准函数集,以及其他常用函数。常用的函数如下表:

函数

描述

diag

将一个方阵的对角(或非对角)元素作为一个一维数组返回,或将一维数组转换成一个方阵,并且在非对角线上有零点

dot

矩阵点乘

trace

计算对角元素和

det

计算矩阵行列式

eig

计算方阵的特征值和特征向量

inv

计算方阵的逆矩阵

solve

求解x的线性系统Ax=b,其中A是方阵

lstsq

计算Ax=b的最小二乘解

3、伪随机数

伪随机数是numpy一个重要功能,填补了python内建的random模块的不足,例如可以通过normal获得一个4*4的正态分布样本数组。

numpy.random中的部分函数列表

函数

描述

seed

向随机数生成器传递随机种子

shuffle

随机排列一个序列

rand

从均匀分布中抽取样本

randint

从给定的由低到高范围抽取随机整数

randn

从均值为0,方差为1的正态分布中抽取样本

binomial

从二项分布中抽取样本

normal

从正态分布中抽取样本

beta

从beta分布中抽取样本

chisquare

从卡方分布中抽取样本

gamma

从伽马分布中抽取样本

uniform

从均匀[0, 1)分布中抽取样本

可以抽取几个常见的方法记住,其他的作为了解。

np.normal(loc, scale, size)返回均值为loc,标准差为scale,shape为size的数组。

seed随机种子的说明:随机种子的设定是为了在每一次执行程序能够得到相同的结果。如下面所示:

4、numpy示例:随机漫步

从0开始,设定步进值为0和1的概率相等。利用python实现一个1000步的随机漫步: