zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Numpy库的简单用法(2)

2023-03-07 09:13:23 时间

1、numpy中的逐元素数组函数

numpy中的数组函数有很多,通过使用函数可以大大减少使用for、if等语句,常见的一元通用函数和二元通用函数如下表:

一元常用通用函数速查表

函数名

描述

abs、fabs

逐元素计算整数、浮点数或复数绝对值

sqrt

计算每个元素的平方根(与arr**0.5)等价

square

计算每个元素的平方(与arr**2)等价

exp

计算每个元素的自然指数值e^x

log、log10、log2、log1p

分别对应以e为底、10为底、2为底、log(1+x)的值

sign

计算每个元素的符号值:1(正数)、0(0)、-1(负数)

ceil

计算每个元素的最高整数值(即大于等于给定数值的最小整数)

floor

计算每个元素的最小整数值(即小于等于给定元素的最大整数)

rint

将元素保留到整数位,并保持dtype

modf

分别将数组的小数部分和整数部分按数组形式返回

isnan

返回数组中的元素是否为一个NaN,返回值为一个布尔数组

cos、sin、tan

常规三角函数

arccos、arcsin、arctan

常规反三角函数

logical_not

对数组元素按位取反(与~arr)效果一致

二元常用通用函数速查表

函数名

描述

add

数组对应元素相加

subtract

在第二个数组中,将第一个数组中包含的元素去除

multiply

将数组对应元素相乘

divide、floor_divide

除或整除(放弃余数)

power

将第二个数组的元素作为第一个数组对应元素的幂次方

maximum、fmax

逐元素计算最大值,fmax忽略NaN

minimum、fmin

逐元素计算最小值,fmin忽略NaN

mod

按元素求模计算(除法的余数)

greater、greater_equal、less、less_equal、equal、not_equal

逐元素进行比较,返回布尔数组,与数学操作符>,<,=等一致

logical_and、logical_or、logical_xor

逐元素逻辑操作,与操作符&、|、^效果一致

使用举例:

一元函数用法

二元函数用法

对于常用的方法我们需要掌握,在实际应用中应该首先考虑能不能用现有的方法使用而不是一味的使用for循环等语句。

2、使用数组进行面向数组编程

(1)将条件逻辑作为数组操作

numpy.where函数是三元表达式x if condition else y简单表示。如下面例子:

这样会产生多个问题,如果使用for循环,当数据量很大,速度会很慢,其次当数据为多维时就不行了,下面使用numpy.where为例:

可以对numpy.where灵活运用:

(2)数学和统计方法

numpy中常见的数学统计方法如下表:

方法

描述

sum

沿轴向计算所有元素的和

mean

计算平均值

std、var

标准差和方差,可以选择自由度(默认分母是n)

min、max

最小值和最大值

argmin、argmax

最小值和最大值的位置

cumsum

从0开始元素累积和

cumprod

从1开始元素累积积

在编程中,行和列用axis表示,axis=1表示行上计算,axis=0表示列上计算。