zoukankan      html  css  js  c++  java
  • numpy 常用的ndarray多维数组运算

    欢迎关注WX公众号:【程序员管小亮】

    NumPy一元函数对ndarray中的数据执行元素级运算的函数

    • np.abs(x)np.fabs(x) : 计算数组各元素的绝对值
    >>> x = np.array([-1.2, 1.2])
    >>> np.absolute(x)
    array([ 1.2,  1.2])
    
    >>> np.fabs(x)
    array([ 1.2,  1.2])
    
    • np.sqrt(x) : 计算数组各元素的平方根
    >>> x = np.array([-1.2, 1.2])
    >>> np.sqrt(x)
    array([ nan 1.09544512])
    
    • np.square(x) : 计算数组各元素的平方
    >>> x = np.array([-1.2, 1.2])
    >>> np.square(x)
    array([1.44 1.44])
    
    • np.log(x)np.log10(x)np.log2(x) : 计算数组各元素的自然对数、10底对数和2底对数
    >>> np.log([1, np.e, np.e**2, 0])
    array([  0.,   1.,   2., -Inf])
    
    >>> np.log10([1, np.e, np.e**2, 0])
    array([0. 0.43429448 0.86858896 -inf])
    
    >>> np.log2([1, np.e, np.e**2, 0])
    array([0. 1.44269504 2.88539008 -inf])
    
    • np.ceil(x)np.floor(x) : 计算数组各元素的ceiling值或floor值(ceiling向上取整,floor向下取整)
    >>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
    >>> np.ceil(a)
    array([-1., -1., -0.,  1.,  2.,  2.,  2.])
    
    >>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
    >>> np.floor(a)
    array([-2., -2., -1.,  0.,  1.,  1.,  2.])
    
    • np.rint(x) : 计算数组各元素的四舍五入值
    >>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
    >>> np.rint(a)
    array([-2., -2., -0.,  0.,  2.,  2.,  2.])
    
    • np.modf(x) : 将数组各元素的小数和整数部分以两个独立数组形式返回
    >>> np.modf([0, 3.5])
    (array([ 0. ,  0.5]), array([ 0.,  3.]))
    >>> np.modf(-0.5)
    (-0.5, -0)
    
    • np.cos(x)np.cosh(x)np.sin(x)np.sinh(x)np.tan(x)np.tanh(x) : 计算数组各元素的普通型和双曲型三角函数
    >>> np.cos(np.array([0, np.pi/2, np.pi]))
    array([  1.00000000e+00,   6.12303177e-17,  -1.00000000e+00])
    
    >>> np.cosh(np.array([0, np.pi/2, np.pi]))
    array([  1.        ,   2.50917848,  11.59195328])
    
    >>> np.sin(np.array([0, np.pi/2, np.pi]))
    array([  0.00000000e+00,   1.00000000e+00,   1.22464680e-16])
    
    >>> np.sinh(np.array([0, np.pi/2, np.pi]))
    array([  0.        ,   2.3012989 ,  11.54873936])
    
    >>> np.tan(np.array([0, np.pi/2, np.pi]))
    array([  0.00000000e+00,   1.63312394e+16,  -1.22464680e-16])
    
    >>> np.tanh(np.array([0, np.pi/2, np.pi]))
    array([ 0.        ,  0.91715234,  0.99627208])
    
    • np.exp(x) : 计算数组各元素的指数值
    >>> np.expm1(1e-10)
    1.00000000005e-10
    
    • np.sign(x) : 计算数组各元素的符号值,+1(+), 0, ‐1(‐)
    >>> np.sign([-5., 4.5])
    array([-1.,  1.])
    >>> np.sign(0)
    0
    >>> np.sign(5-2j)
    (1+0j)
    

    NumPy二元函数对ndarray中的数据执行元素级运算的函数

    • +、 ‐、 * 、/ 、** : 两个数组各元素进行对应运算
    • np.maximum(x,y)np.fmax()np.minimum(x,y)np.fmin() :元素级的最大值/最小值计算
    >>> x = np.array([[0, 1, 2, 3],
                  [4, 5, 6, 7],
                  [8, 9, 10, 11]])
    >>> y = np.array([[2, 2, 2, 2],
                  [2, 2, 2, 2],
                  [2, 2, 2, 2]])
    >>> np.maximum(x,y)
    array([[ 2,  2,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    
    >>> np.fmax(x,y)
    array([[ 2,  2,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    
    >>> np.minimum(x,y)
    array([[0, 1, 2, 2],
           [2, 2, 2, 2],
           [2, 2, 2, 2]])>>> np.fmin(x,y)
    array([[0, 1, 2, 2],
           [2, 2, 2, 2],
           [2, 2, 2, 2]])
    
    • np.mod(x,y) :元素级的模运算
    >>> np.remainder([4, 7], [2, 3])
    array([0, 1])
    >>> np.remainder(np.arange(7), 5)
    array([0, 1, 2, 3, 4, 0, 1])
    
    • np.copysign(x,y) : 将数组y中各元素值的符号赋值给数组x对应元素
    >>> x = np.array([[0, 1, 2, 3],
                  [4, 5, 6, 7],
                  [8, 9, 10, 11]])
    >>> y = np.array([[2, 2, 2, 2],
                  [2, 2, 2, 2],
                  [2, 2, 2, 2]])
    >>> np.copysign(x,y)
    array([[ -0.,   1.,  -2.,   3.],
           [  4.,  -5.,   6.,  -7.],
           [ -8.,   9., -10.,  11.]])
    
    • > < >= <= == != 算术比较,产生布尔型数组

    python课程推荐。
    在这里插入图片描述

  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302763.html
Copyright © 2011-2022 走看看