zoukankan      html  css  js  c++  java
  • numpy数组及处理:效率对比

    一、处理日期时间

    取系统时间

    转换成‘2017年9月30日星期六10时28分56秒’格式字符串

    ’2018-10-25 22:00‘转换成一个日期时间变量

    计算两者的间隔

    import datetime
    print(datetime.datetime.now())
    print("--------------------------------")
    from datetime import datetime,timedelta
    now = datetime.now()
    print(now)
    print("--------------------------------")
    dt = datetime(2019,10,22,8,59)
    print(dt)
    print("--------------------------------")
    cday=datetime.strptime('2015-6-1 18:19:59','%Y-%m-%d %H:%M:%S')
    print(cday)
    print("--------------------------------")
    now1 =now.strftime('%a, %b %d %H:%M')
    print(now1)
    print("--------------------------------")
    print('今天是{0:%y}年的第{0:%j}天。'.format(now))
    print("--------------------------------")
    print(dt-now)
    print("--------------------------------")
    

      

    二、问题:

    • 数列:
    • a = a1,a2,a3,·····,an
    • b = b1,b2,b3,·····,bn
    • 求:
    • c = a12+b13,a22+b23,a32+b33,·····+an2+bn3

    1.用列表+循环实现,并包装成函数

    2.用numpy实现,并包装成函数

    3.对比两种方法实现的效率,给定一个较大的参数n,用运行函数前后的timedelta表示。

    import numpy as py
    from datetime import datetime
    
    def listSum(n):
        a=list(range(n))
        b=list(range(0,5*n,5))
        c=[]
        for i in range(len(a)):
         c.append(a[i]**2+b[i]**3)
        return c
    
    
    def numpySum(n):
        a=py.arange(n)
        b=py.arange(0,5*n,5)
        c=a**2+b**3
        return c
    
    now1=datetime.now()
    print(listSum(1000000))
    now2=datetime.now()
    print(now2-now1)
    
    
    now3=datetime.now()
    print(numpySum(1000000))
    now4=datetime.now()
    print(now4-now3)
    

      

  • 相关阅读:
    话说 SVN 与 Git 之间的区别
    CentOS 7 之安装 Oracle 11gR2
    @meda媒体查询
    为样式找到应用目标-CSS选择器
    JQuery和原生JavaScript实现网页定位导航特效
    CSS代码缩写
    认识CSS样式
    文档类型、DOCTYPE切换和浏览器模式
    MIME 参考手册
    微格式(microformat)
  • 原文地址:https://www.cnblogs.com/sunyubin/p/9828912.html
Copyright © 2011-2022 走看看