常用函数
2021-8-1
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property

一元函数

函数
描述
np.abs np.fabs
绝对值,对于非负数值可以使用更快的np.fabs
np.sqrt
开根
np.square
平方
np.exp
计算指数( )
np.log,np.log10,np.log2,np.log1p
求以e为底,以10为低,以2为低,以(1+x)为底的对数
np.sign
将数组中的值标签化,大于0的变成1,等于0的变成0,小于0的变成-1
np.ceil
朝着无穷大的方向取整,比如5.1会变成6,-6.3会变成-6
np.floor
朝着负无穷大方向取证,比如5.1会变成5,-6.3会变成-7
np.rint,np.round
返回四舍五入后的值
np.modf
将整数和小数分隔开来形成两个数组
np.isnan
判断是否是nan
np.isinf np.isfinite
判断是否是inf 判断有穷
np.cos,np.cosh,np.sin,np.sinh,np.tan,np.tanh
三角函数
np.arccos,np.arcsin,np.arctan
反三角函数
np.logical_not
计算各个元素not x的真值 相当于-arr

二元函数

函数
描述
np.add
加法运算(即1+1=2),相当于+
np.subtract
减法运算(即3-2=1),相当于-
np.negative
负数运算(即-2),相当于加个负号
np.multiply
乘法运算(即2*3=6),相当于*
np.divide
除法运算(即3/2=1.5),相当于/
np.floor_divide
取整运算,相当于//
np.power
对于第一个数组中的元素A和第二个元素B,求A^B
np.copysign
对于第一个数组中的元素A和第二个元素B,B符号复制给A
np.mod
取余运算,相当于%
maximum fmax
元素级的最大值计算 fmax忽略NAN
minimum fmin
元素级的最小值计算 fmin忽略NAN
greater,greater_equal,less,less_equal,equal,not_equal
>,>=,<,<=,=,!=的函数表达式
logical_and
&的函数表达式
logical_or
|的函数表达式
logical_xor
^的函数表达式

聚合函数

函数名称
NAN安全版本
描述
np.sum
np.nansum
计算元素的和
np.prod
np.nanprod
计算元素的积
np.mean
np.nanmean
计算元素的平均值
np.std
np.nanstd
计算元素的标准差
np.var
np.nanvar
计算元素的方差
np.min
np.nanmin
计算元素的最小值
np.max
np.nanmax
计算元素的最大值
np.argmin
np.nanargmin
找出最小值的索引
np.argmax
np.nanargmax
找出最大值的索引
np.median
np.nanmedian
计算元素的中位数
使用np.sum或者是a.sum即可实现。并且在使用的时候,可以指定具体哪个轴。同样Python中也内置了sum函数,但是Python内置的sum函数执行效率没有np.sum那么高,可以通过以下代码测试了解到:
 

布尔数组的函数

函数名称
描述
np.any
验证任何一个元素是否为真
np.all
验证所有元素是否为真
比如想看下数组中是不是所有元素都为0:
 
比如想要看数组中是否有等于0的数:
 

数组的集合运算

notion image
 

排序、条件刷选函数

NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较
种类
速度
最坏情况
工作空间
稳定性
'quicksort'(快速排序)
1
O(n^2)
0
'mergesort'(归并排序)
2
O(n*log(n))
~n/2
'heapsort'(堆排序)
3
O(n*log(n))
0
 

numpy.sort()

numpy.sort() 函数返回输入数组的排序副本。函数格式如下:
参数说明:
  • a: 要排序的数组
  • axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序
  • kind: 默认为'quicksort'(快速排序)
  • order: 如果数组包含字段,则是要排序的字段
 

numpy.argsort()

numpy.argsort() 函数返回的是数组值从小到大的索引值
 

numpy.lexsort()

numpy.lexsort() 用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列。
这里举一个应用场景:小升初考试,重点班录取学生按照总成绩录取。在总成绩相同时,数学成绩高的优先录取,在总成绩和数学成绩都相同时,按照英语成绩录取…… 这里,总成绩排在电子表格的最后一列,数学成绩在倒数第二列,英语成绩在倒数第三列。
传入 np.lexsort 的是一个tuple,排序时首先排 nm,顺序为:amar、anil、raju、ravi 。综上排序结果为 [3 1 0 2]
 

msort、sort_complex、partition、argpartition

函数
描述
msort(a)
数组按第一个轴排序,返回排序后的数组副本。np.msort(a) 相等于 np.sort(a, axis=0)
sort_complex(a)
对复数按照先实部后虚部的顺序进行排序。
partition(a, kth[, axis, kind, order])
指定一个数,对数组进行分区
argpartition(a, kth[, axis, kind, order])
可以通过关键字 kind 指定算法沿着指定轴对数组进行分区

numpy.nonzero()

numpy.nonzero() 返回输入数组中非零元素的索引

numpy.where()

numpy.where() 返回输入数组中满足给定条件的元素的索引

numpy.extract()

numpy.extract() 根据某个条件从数组中抽取元素,返回满条件的元素
 

其他函数补充

np.apply_along_axis:沿着某个轴执行指定的函数:
 
np.linspace:用来将指定区间内的值平均分成多少份:
 
np.unique:返回数组中的唯一值
 
 
  • Numpy
  • axis理解字节交换
    目录