• numpy数组及处理:效率对比


    # 用列表实现循环,并包装成函数,用numpy实现,并包装成函数,对比两种方法实现的效率
    # 用列表实现循环
    def pySum(n):
        a=list(range(10))
        b=list(range(0,60,6))
        c=[]
        for i in range(len(a)):#循环的时候,长度和列表a一样
            c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3,考虑的是数列的a^2+b^3
        return (c)#注意对齐
    print(pySum(1))#无论打印的n 值为多少,就会输出多少组数。
    
    # 用numpy实现,并包装成函数
    import numpy
    def npSum(n):
        a=numpy.arange(10)#range()和arange()函数的区别range(star,stop,step)其为前后步长所限定,arange(star,stop,step)制指定范围,可设置浮点数
    m=numpy.arange(10)
        b=numpy.arange(0,60,6)
        c=a+b
        return (c)
    print(npSum(10))
    
    对比两种方法实现的效率
    def pySum(n):
        a=list(range(n))
        b=list(range(0,5*n,5))
        c=[]
        for i in range(len(a)):#循环的时候,长度和列表a一样
            c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3
        return (c)#注意对齐
    print(pySum(10))#无论打印的n 值为多少,都只会输出10组数


    def npSum(n):
        a=list(range(n))
        b=list(range(0,5*n,5))
        c=[]
        for i in range(len(a)):#循环的时候,长度和列表a一样
            c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3
        return (c)#注意对齐
    print(pySum(1))#无论打印的n 值为多少,都只会输出10组数
    
    from datetime import datetime
    start=datetime.now()
    pySum(2000000)
    delta=datetime.now()-start
    print(delta)
    
    start=datetime.now()
    npSum(2000000)#数目越大,所用时间越长
    delta=datetime.now()-start
    print(delta)
    

      


      

     

    #numpy多维数组的效率对比

    def shulie(n):
        a=list(range(n))
        b=list(range(0,5*n,5))
        c=[]
    
    
        for i in range(n):
            c.append(a[i]**2+b[i]**3)
    
        for j in range(n):
            c.append(a[j]**2+b[j]**3)
    
        for k in range(n):
             c.append(a[k]**2+b[k]**3)
        return(c)
    print(shulie(10))
    
    
    
    import numpy
    def npSum(n):
        a=numpy.arange(10)#range()和arange()函数的区别range(star,stop,step)其为前后步长所限定,arange(star,stop,step)制指定范围,可设置浮点数
        m=numpy.arange(10)
        b=numpy.arange(0,60,6)
    
        c=numpy.array([[a,b],[a**2,b**3]])
        return (c)
    print(npSum(10))
    
    
    
    # 效率对比
    
    from datetime import datetime
    start=datetime.now()
    shulie(2000000)
    delta=datetime.now()-start
    print(delta)
    
    start=datetime.now()
    npSum(2000000)#数目越大,所用时间越长
    delta=datetime.now()-start
    print(delta)
    

      

  • 相关阅读:
    对称的二叉树
    二叉树的下一个结点
    Go操作Redis实战
    重写Laravel异常处理类
    【论文笔记】Learning to Estimate 3D Human Pose and Shape from a Single Color Image(CVPR 2018)
    ffmpeg第一弹:ffmpeg介绍和开发环境搭建
    程序员你是如何使用镜像中心Harbor的?
    SpringBoot 的 MyBatis 多数据源配置
    Typora+PicGo+Gitee搭建博客写作环境(超详细)
    重学数据结构(八、查找)
  • 原文地址:https://www.cnblogs.com/cc013/p/9786984.html
Copyright © 2020-2023  润新知