zoukankan      html  css  js  c++  java
  • 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]]

    参考文档:

    作者悦光阴
    本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    事件处理
    模板语法
    计算属性和侦听器
    Class 与 Style绑定
    Springboot使用redis
    修改docker-toolbox/boot2docker容器镜像
    docker容器如何安装vim
    Maven+Docker,发布到Registry
    Maven + Docker
    Jenkins-SVN + Maven + Docker
  • 原文地址:https://www.cnblogs.com/ljhdo/p/15766504.html
Copyright © 2011-2022 走看看