zoukankan      html  css  js  c++  java
  • ndnarry元素处理

    元素计算函数

    1. ceil(): 向上最接近的整数,参数是 number 或 array

    2. floor(): 向下最接近的整数,参数是 number 或 array

    3. rint(): 四舍五入,参数是 number 或 array
    4. isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
    5. multiply(): 元素相乘,参数是 number 或 array
    6. divide(): 元素相除,参数是 number 或 array
    7. abs():元素的绝对值,参数是 number 或 array
    8. where(condition, x, y): 三元运算符,x if condition else y

    示例代码(1、2、3、4、5、6、7):

    # randn() 返回具有标准正态分布的序列。
    arr = np.random.randn(2,3)
    
    print(arr)
    
    print(np.ceil(arr))
    
    print(np.floor(arr))
    
    print(np.rint(arr))
    
    print(np.isnan(arr))
    
    print(np.multiply(arr, arr))
    
    print(np.divide(arr, arr))
    
    print(np.where(arr > 0, 1, -1))

    运行结果:

    # print(arr)
    [[-0.75803752  0.0314314   1.15323032]
     [ 1.17567832  0.43641395  0.26288021]]
    
    # print(np.ceil(arr))
    [[-0.  1.  2.]
     [ 2.  1.  1.]]
    
    # print(np.floor(arr))
    [[-1.  0.  1.]
     [ 1.  0.  0.]]
    
    # print(np.rint(arr))
    [[-1.  0.  1.]
     [ 1.  0.  0.]]
    
    # print(np.isnan(arr))
    [[False False False]
     [False False False]]
    
    # print(np.multiply(arr, arr))
    [[  5.16284053e+00   1.77170104e+00   3.04027254e-02]
     [  5.11465231e-03   3.46109263e+00   1.37512421e-02]]
    
    # print(np.divide(arr, arr))
    [[ 1.  1.  1.]
     [ 1.  1.  1.]]
    
    # print(np.where(arr > 0, 1, -1))
    [[ 1  1 -1]
     [-1  1  1]]

    元素统计函数

    1. np.mean()np.sum():所有元素的平均值,所有元素的和,参数是 number 或 array

    2. np.max()np.min():所有元素的最大值,所有元素的最小值,参数是 number 或 array

    3. np.std()np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
    4. np.argmax()np.argmin():最大值的下标索引值,最小值的下标索引值,参数是 number 或 array
    5. np.cumsum()np.cumprod():返回一个一维数组,每个元素都是之前所有元素的 累加和 和 累乘积,参数是 number 或 array
    6. 多维数组默认统计全部维度,axis参数可以按指定轴心统计,值为0则按列统计,值为1则按行统计。

    示例代码:

    arr = np.arange(12).reshape(3,4)
    print(arr)
    
    print(np.cumsum(arr)) # 返回一个一维数组,每个元素都是之前所有元素的 累加和
    
    print(np.sum(arr)) # 所有元素的和
    
    print(np.sum(arr, axis=0)) # 数组的按列统计和
    
    print(np.sum(arr, axis=1)) # 数组的按行统计和

    运行结果:

    # print(arr)
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    # print(np.cumsum(arr)) 
    [ 0  1  3  6 10 15 21 28 36 45 55 66]
    
    # print(np.sum(arr)) # 所有元素的和
    66
    
    # print(np.sum(arr, axis=0)) # 0表示对数组的每一列的统计和
    [12 15 18 21]
    
    # print(np.sum(arr, axis=1)) # 1表示数组的每一行的统计和
    [ 6 22 38]

    元素判断函数

    1. np.any(): 至少有一个元素满足指定条件,返回True
    2. np.all(): 所有的元素满足指定条件,返回True

    示例代码:

    arr = np.random.randn(2,3)
    print(arr)
    
    print(np.any(arr > 0))
    print(np.all(arr > 0))

    运行结果:

    [[ 0.05075769 -1.31919688 -1.80636984]
     [-1.29317016 -1.3336612  -0.19316432]]
    
    True
    False

    元素去重排序函数

    np.unique():找到唯一值并返回排序结果,类似于Python的set集合

    示例代码:

    arr = np.array([[1, 2, 1], [2, 3, 4]])
    print(arr)
    
    print(np.unique(arr))

    运行结果:

    [[1 2 1]
     [2 3 4]]
    
    [1 2 3 4]
  • 相关阅读:
    ESAPI = Enterprise Security API
    WingIDE中调试GAE(google app engine)
    C# 发送Http请求 WebClient类
    [转]使用Google App Engine Helper for Django
    装上Window7
    最近遇到个关于接口的奇怪的问题
    JNDI概述(转载)
    Google App Engine 中通过自定义Django的filter解决时区问题
    C# string与byte[]互转
    Python天天美味(33) 五分钟理解元类(Metaclasses)[转]
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/9792754.html
Copyright © 2011-2022 走看看