• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python机器学习三大件之一numpy

    一、前言

    机器学习三大件:numpy, pandas, matplotlib

    Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。

    Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。

    Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。

    NumPy提供了一个N维数组类型ndarray

    import numpy as np
    score = np.array(
    [[80, 89, 86, 67, 79],
    [78, 97, 89, 67, 81],
    [90, 94, 78, 67, 74],
    [91, 91, 90, 67, 69],
    [76, 87, 75, 67, 86],
    [70, 79, 84, 67, 84],
    [94, 92, 93, 67, 64],
    [86, 85, 83, 67, 80]])
    

    score

    array([[80, 89, 86, 67, 79],
    [78, 97, 89, 67, 81],
    [90, 94, 78, 67, 74],
    [91, 91, 90, 67, 69],
    [76, 87, 75, 67, 86],
    [70, 79, 84, 67, 84],
    [94, 92, 93, 67, 64],
    [86, 85, 83, 67, 80]])

    Numpy专门针对ndarray的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。

    从图中我们可以看出ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。
    list – 分离式存储,存储内容多样化
    ndarray – 一体式存储,存储类型必须一样
    ndarray支持并行化运算(向量化运算)
    ndarray底层是用C语言写的,效率更高,释放了GIL

    二、基本操作

    # 生成0和1的数组
    ones = np.ones([4,8])
    ones

    array([[1., 1., 1., 1., 1., 1., 1., 1.],
    [1., 1., 1., 1., 1., 1., 1., 1.],
    [1., 1., 1., 1., 1., 1., 1., 1.],
    [1., 1., 1., 1., 1., 1., 1., 1.]])

    # 生成等间隔的数组
    np.linspace(0, 100, 11)

    array([ 0., 10., 20., 30., 40., 50., 60., 70., 80., 90.,
    100.])

    #创建等差数组 — 指定步长
    np.arange(10, 50, 2)

    array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48])

    三、正太分布

    np.random.rand(4,2)

    array([[ 0.02173903, 0.44376568],
    [ 0.25309942, 0.85259262],
    [ 0.56465709, 0.95135013],
    [ 0.14145746, 0.55389458]])

    np.random.randn(2,4)

    array([[ 0.27795239, -2.57882503, 0.3817649 , 1.42367345],
    [-1.16724625, -0.22408299, 0.63006614, -0.41714538]])

    np.random.randint(1,5) # 返回1个[1,5)时间的随机整数

    4

    x1 = np.random.normal(1.75, 1, 100000000)

    array([2.90646763, 1.46737886, 2.21799024, …, 1.56047411, 1.87969135, 0.9028096 ])

    # 生成均匀分布的随机数
    x2 = np.random.uniform(-1, 1, 100000000)

    array([ 0.22411206, 0.31414671, 0.85655613, …, -0.92972446, 0.95985223, 0.23197723])

    四、数组的索引、切片

    # 三维
    a1 = np.array([ [[1,2,3],[4,5,6]], [[12,3,34],[5,6,7]]])
    # 返回结果
    array([[[ 1,  2,  3],
            [ 4,  5,  6]],
    
           [[12,  3, 34],
            [ 5,  6,  7]]])
    # 索引、切片
    a1[0, 0, 1]   # 输出: 2
    

    五、形状修改

    stock_change.reshape([5, 4])  #5*4
    stock_change.reshape([-1,10])  #2*10,-1: 表示通过待计算

    六、转置

    stock_change.T.shape

    七、类型转换

    arr = np.array([[[1, 2, 3], [4, 5, 6]], [[12, 3, 34], [5, 6, 7]]])
    arr.tostring()

    八、数组的去重

    temp = np.array([[1, 2, 3, 4],[3, 4, 5, 6]])
    
    >>> np.unique(temp)
    array([1, 2, 3, 4, 5, 6])

    逻辑运算
    直接进行大于,小于的判断:test_score > 60
    合适之后,可以直接进行赋值:test_score[test_score > 60] = 1
    通用判断函数
    np.all() np.all(score[0:2, :] > 60)
    np.any() np.any(score[0:2, :] > 80)
    统计运算
    np.max()
    np.min()
    np.median()
    np.mean()
    np.std()
    np.var()
    np.argmax(axis=) — 最大元素对应的下标
    np.argmin(axis=) — 最小元素对应的下标

    九、广播机制

    1.维度相等

    2.shape(其中对应的地方为1,也是可以的)

    arr1 = np.array([[0],[1],[2],[3]])
    arr1.shape
    # (4, 1)
    
    arr2 = np.array([1,2,3])
    arr2.shape
    # (3,)
    
    arr1+arr2
    # 结果是:
    array([[1, 2, 3],
           [2, 3, 4],
           [3, 4, 5],
           [4, 5, 6]])
    

    到此这篇关于Python机器学习三大件之一numpy的文章就介绍到这了,更多相关python numpy内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python NumPy灰度图像的压缩原理讲解
    • Python多进程共享numpy 数组的方法
    • python中sqllite插入numpy数组到数据库的实现方法
    • python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
    • python numpy中multiply与*及matul 的区别说明
    • 浅谈Python numpy创建空数组的问题
    • Python NumPy中diag函数的使用说明
    • python利用numpy存取文件案例教程
    上一篇:python实现自动清理文件夹旧文件
    下一篇:超详细Python解释器新手安装教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python机器学习三大件之一numpy Python,机器,学习,三,大件,