zoukankan      html  css  js  c++  java
  • 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)
    

      

  • 相关阅读:
    CV方向的高效阅读英文文献方法总结
    数据增强方法总结
    CNN结构演变总结(三)设计原则
    CNN结构演变总结(二)轻量化模型
    CNN结构演变总结(一)经典模型
    CNN可视化技术总结(四)--可视化工具与项目
    Codeforces972 D. Kuro and GCD and XOR and SUM 01Trie
    Codeforces 982 D. Shark
    Codeforces Round #700 (Div. 2) A~D题解
    codeforces 1004 D. Sonya and Matrix 构造
  • 原文地址:https://www.cnblogs.com/cc013/p/9786984.html
Copyright © 2011-2022 走看看