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面试题 启动线程是start()还是run()?为什么?
    Java面试题 equals()与"=="的区别?
    Java面试题之数据库三范式是什么?
    很全的Python 面试题 github
    链家二手房 爬虫
    15个重要Python面试题 测测你适不适合做Python?
    静态链接和动态链接
    Python里的拷贝
    GIL线程全局锁 协程
    Python中的作用域
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302763.html
Copyright © 2011-2022 走看看