zoukankan      html  css  js  c++  java
  • python机器学习库numpy---8、常用函数

    python机器学习库numpy---8、常用函数

    一、总结

    一句话总结:

    二、常用函数

    博客对应课程的视频位置:

    8、常用函数(一)-范仁义-读书编程笔记
    https://www.fanrenyi.com/video/38/350

    8、常用函数(二)-范仁义-读书编程笔记
    https://www.fanrenyi.com/video/38/351

    numpy常用函数有sin、sqrt(求平方根)、sort、transpose(转置)、max、

    mean(average)、sum、median(中位数)、var(方差)、std(标准差)、cumsum(累加)、

    np.clip(arr,5,9)(小于5的数全部让它变成5,大于9的数全部是9)


    numpy中的axis为0为1分别表示的意思是什么

    axis为0表示对列进行操作,axis为1表示为行进行操作

    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    # 平均数
    print(arr.mean())
    print(np.average(arr))
    print(np.average(arr,axis=0)) # 0是列
    print(np.average(arr,axis=1)) # 1是行
    
    5.75
    5.75
    [4. 5. 7. 7.]
    [1.5  6.25 9.5 ]

    1、sin

    In [1]:
    import numpy as np
    arr = np.arange(12).reshape(3,4)
    arr
    
    Out[1]:
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    In [2]:
    print(np.sin(arr))
    
    [[ 0.          0.84147098  0.90929743  0.14112001]
     [-0.7568025  -0.95892427 -0.2794155   0.6569866 ]
     [ 0.98935825  0.41211849 -0.54402111 -0.99999021]]
    

    2、求平方根:sqrt

    In [3]:
    print(np.sqrt(arr))
    
    [[0.         1.         1.41421356 1.73205081]
     [2.         2.23606798 2.44948974 2.64575131]
     [2.82842712 3.         3.16227766 3.31662479]]
    

    3、排序:sort

    In [4]:
    arr = np.random.rand(12).reshape(3,4)
    print(arr)
    
    [[0.6133163  0.40105172 0.60318273 0.67890187]
     [0.91493469 0.4497298  0.31922568 0.66318644]
     [0.28126538 0.8782578  0.76664562 0.34856477]]
    
    In [5]:
    print(np.sort(arr))
    
    [[0.40105172 0.60318273 0.6133163  0.67890187]
     [0.31922568 0.4497298  0.66318644 0.91493469]
     [0.28126538 0.34856477 0.76664562 0.8782578 ]]
    
    In [7]:
    # 以每一列来从小到大排序
    # axis,axis=0的时候表示以列来进行操作,为1的时候表示以行来进行操作
    print(arr)
    print(np.sort(arr,axis=0))
    
    [[0.6133163  0.40105172 0.60318273 0.67890187]
     [0.91493469 0.4497298  0.31922568 0.66318644]
     [0.28126538 0.8782578  0.76664562 0.34856477]]
    [[0.28126538 0.40105172 0.31922568 0.34856477]
     [0.6133163  0.4497298  0.60318273 0.66318644]
     [0.91493469 0.8782578  0.76664562 0.67890187]]
    
    In [8]:
    # 整个数组从小到大排序
    print(np.sort(arr,axis=None))
    
    [0.28126538 0.31922568 0.34856477 0.40105172 0.4497298  0.60318273
     0.6133163  0.66318644 0.67890187 0.76664562 0.8782578  0.91493469]
    
    In [9]:
    print(np.sort(arr,axis=None).reshape(3,4))
    
    [[0.28126538 0.31922568 0.34856477 0.40105172]
     [0.4497298  0.60318273 0.6133163  0.66318644]
     [0.67890187 0.76664562 0.8782578  0.91493469]]
    

    4、转置:transpose

    In [10]:
    import numpy as np
    arr = np.arange(12).reshape(3,4)
    print(arr)
    print(np.transpose(arr))
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    [[ 0  4  8]
     [ 1  5  9]
     [ 2  6 10]
     [ 3  7 11]]
    
    In [11]:
    print(arr.T)
    
    [[ 0  4  8]
     [ 1  5  9]
     [ 2  6 10]
     [ 3  7 11]]
    

    5、求最大值:max

    In [17]:
    arr = np.random.rand(12).reshape(3,4)
    print(arr)
    
    [[0.08615588 0.39306899 0.88981629 0.0076252 ]
     [0.52730672 0.66934283 0.58458758 0.77991555]
     [0.32811653 0.48020368 0.48118878 0.93871359]]
    
    In [13]:
    print(np.max(arr))
    
    0.7300791661344581
    
    In [14]:
    # 以行的方式来找最大值
    print(np.max(arr,axis=1))
    
    [0.7045045  0.23861811 0.73007917]
    
    In [16]:
    # 以列的方式来找最大值
    print(arr)
    print(np.max(arr,axis=0))
    
    [[0.7045045  0.47189083 0.04382594 0.34683246]
     [0.23861811 0.10207685 0.00825278 0.05717811]
     [0.73007917 0.37431436 0.0156451  0.07078938]]
    [0.73007917 0.47189083 0.04382594 0.34683246]
    

    6、求均值:mean(average)

    In [1]:
    import numpy as np
    arr = np.arange(12).reshape(3,4)
    print(arr)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    In [2]:
    print(np.mean(arr))
    print(np.average(arr))
    
    5.5
    5.5
    
    In [3]:
    # 以列的方式求均值
    print(np.mean(arr,axis=0))
    print(np.average(arr,axis=0))
    
    [4. 5. 6. 7.]
    [4. 5. 6. 7.]
    
    In [4]:
    # 以行的方式求均值
    print(arr)
    print(np.mean(arr,axis=1))
    print(np.average(arr,axis=1))
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    [1.5 5.5 9.5]
    [1.5 5.5 9.5]
    

    7、求和:sum

    In [5]:
    import numpy as np
    arr = np.arange(12).reshape(3,4)
    print(arr)
    print(np.sum(arr))
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    66
    
    In [6]:
    # 以列的方式
    print(np.sum(arr,axis=0))
    
    [12 15 18 21]
    
    In [7]:
    # 以行的方式
    print(np.sum(arr,axis=1))
    
    [ 6 22 38]
    

    8、中位数:median

    In [8]:
    import numpy as np
    arr = np.arange(12).reshape(3,4)
    print(arr)
    arr[1][2]=9
    print(arr)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    [[ 0  1  2  3]
     [ 4  5  9  7]
     [ 8  9 10 11]]
    
    In [9]:
    print(np.median(arr))
    print(np.median(arr,axis=0)) #列
    print(np.median(arr,axis=1)) #行
    
    6.0
    [4. 5. 9. 7.]
    [1.5 6.  9.5]
    

    9、方差:var

    方差的函数为var(),方差函数var()相当于函数mean(abs(x - x.mean())**2),其中x为矩阵。

    In [10]:
    print(np.var(arr))
    print(np.var(arr,axis=0)) #列的方式
    
    12.854166666666666
    [10.66666667 10.66666667 12.66666667 10.66666667]
    

    10、标准差:std

    标准差的函数为std(), std()相当于sqrt(mean(abs(x - x.mean())**2)),或相当于sqrt(x.var())。

    In [11]:
    print(np.std(arr))
    
    3.5852707940498254
    

    11、累加:cumsum

    In [12]:
    print(arr)
    print(np.cumsum(arr))
    print(np.cumsum(arr,axis=1)) #行
    
    [[ 0  1  2  3]
     [ 4  5  9  7]
     [ 8  9 10 11]]
    [ 0  1  3  6 10 15 24 31 39 48 58 69]
    [[ 0  1  3  6]
     [ 4  9 18 25]
     [ 8 17 27 38]]
    

    12、修剪:clip

    np.clip(arr,5,9)
    小于5的数全部让它变成5,大于9的数全部是9
    In [13]:
    print(arr)
    print(np.clip(arr,5,9))
    
    [[ 0  1  2  3]
     [ 4  5  9  7]
     [ 8  9 10 11]]
    [[5 5 5 5]
     [5 5 9 7]
     [8 9 9 9]]
    
    In [ ]:
     
     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    subtitleedit
    NHibernate.Mapping1.1.csgen 模板
    js jqueryhotkeys
    c#.net将对象序列化,反序列化json
    ruby document
    sqlserver2008新数据类型
    [转]杂记
    UVA 532 Dungeon Master
    UVA 10557 XYZZY
    UVA 10129 Play on Words
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13575491.html
Copyright © 2011-2022 走看看