numpy 学习:通用函数(包含数学函数)

通用函数(universal function)通常叫作ufunc,它对数组中的各个元素逐一进行操作。这表明,通用函数分别处理输入数组的每个元素,生成的结果组成一个新的输出数组。输出数组的大小跟输入数组相同。

一元通用函数:

  • abs:计算绝对值
  • sqrt:计算平方根
  • square:计算平方
  • exp:计算元素的值数ex
  • log、log10、log2:计算对数
  • ceil、floor:计算元素的ceiling值、floor值
  • rint:计算元素四舍五入到最接近的整数
  • modf:把数组的小数和整数部分以两个独立数组的形式返回
  • isnan、isinf:返回bool型数组,标识元素是否为nan、inf

二元通用函数,对两个数组进行操作:

  • add、subtract、multiply、divide:把数组中的对应元素相加、相减、相乘、相除
  • power:对第一个数组中的元素A,根据第二个数组中的相应元素B,计算AB
  • mod:元素级的求余数

numpy的数学函数,基本上都是元素级别的,对每个元素进行数学运算。

一,算术函数

numpy的数学函数都是元素级别的,也就是说,只用于位置相同的元素之间,所得到的运算结果组成一个新的数组。

  • np.add
  • np.subtract
  • np.multiple
  • np.divide
  • np.florr_divide
  • np.power 

这些函数有等价的运算符,分别是:+,-,*,/,//,**

还有一些其他的数学函数:

  • np.sqrt
  • np.square
  • np.absoulte, np.abs: 取绝对值
  • np.sign:返回元素的数字符号

二,指数和对数

  • np.exp
  • np.log
  • np.exp2
  • np.log2
  • np.log10

三,四舍五入

  • np.around(a, decimals=0, out=None) 四舍五入
  • np.ceil(x, *args, **kwargs) 上限
  • np.floor(x, *args, **kwargs)下限

四,数组的扩展加法运算

numpy可以按照特定的轴计算各个元素的和,累加和,及差值。

1,计算某个轴的元素之和

通过不同的 axis,numpy 会沿着不同的方向进行操作:如果不设置,那么对所有的元素操作;如果axis=0,则沿着纵轴进行操作;axis=1,则沿着横轴进行操作。但这只是简单的二位数组,如果是多维的呢?可以总结为一句话:设axis=i,则 numpy 沿着第i个下标变化的方向进行操作。

numpy.sum(a[, axis=None, dtype=None, out=None, …])

2,计算某个轴上的元素的累计和

numpy.cumsum(a, axis=None, dtype=None, out=None)

3,差值

计算数组中元素的差值:

numpy.diff(a, n=1, axis=-1, prepend=np._NoValue, append=np._NoValue)

参数注释:

n:表示距离为n,默认值是1,表示diff = a[i+1]-a[i]

axis:表示沿着该轴做差值运算

A = np.arange(2, 14).reshape((3, 4))
A[1, 1] = 8
print(A)
# [[ 2  3  4  5]
#  [ 6  8  8  9]
#  [10 11 12 13]]
print(np.diff(A))
# [[1 1 1]
#  [2 0 1]
#  [1 1 1]]
print(np.diff(A, axis=0))
# [[4 5 4 4]
#  [4 3 4 4]]

 

 

 

 

 

 

参考文档:

上一篇:Numpy基础——数组操作大全(修改、翻转、合并、分割、添加与删除、去重)


下一篇:sklearn机器学习(八)