• 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)
    

      

  • 相关阅读:
    记录一则enq: TX
    RAC节点两边存储名字不一致导致的故障及相关延伸
    记录一则fsck的简单案例
    RAC某节点v$asm_disk查询hang分析处理
    统计信息自动收集任务失效原因排查
    OEMCC 13.2 安装部署
    Linux平台Oracle 12.1.0.2 单实例安装部署
    java 除法运算只保留整数位的4种方式
    eclipse spring 配置文件xml校验时,xsd报错
    oracle decode()函数的参数原来可以为sql语句!
  • 原文地址:https://www.cnblogs.com/cc013/p/9786984.html
Copyright © 2020-2023  润新知