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)
    

      

  • 相关阅读:
    如何设计API返回码(错误码)?
    处理git项目内部结构一个变多个子包后提交失败问题
    mysql触发器例子
    使用kafka客戶端例子(开启kerberos验证)
    Shell脚本应用(for、while循环语句和case分支语句)
    Linux防火墙基础与编写防火墙规则
    Squid代理服务器
    rsync远程同步的基本配置与使用
    Shell脚本应用(if语句的结构)
    Shell的基础介绍和案例
  • 原文地址:https://www.cnblogs.com/cc013/p/9786984.html
Copyright © 2011-2022 走看看