Python for Data Analysis(4)

来源:互联网 发布:php网站上传到服务器 编辑:程序博客网 时间:2024/06/05 06:08

时期和时间

内置的datatime模块提供了datatime、date以及time等类型,其中datetime用的是最多的,它合并保存了date and time中的信息

from datetime import datetime, date, time
dt=datetime(2016,9,12,8,53,40)dt.date()
datetime.date(2016, 9, 12)
dt.time()
datetime.time(8, 53, 40)
dt.day
12
dt.minute
53
  • strftime方法用于将datetime格式化为字符串
  • strptime是将字符串转化为datetime对象
dt.strftime('%m/%d/%y %H:%M')
'09/12/16 08:53'
datetime.strptime('20091212','%Y%m%d')
datetime.datetime(2009, 12, 12, 0, 0)
#作时间序列分析时进行聚合或分组时,可能需要替换datetime中的一些字段dt.replace(minute=0,second=0)
datetime.datetime(2016, 9, 12, 8, 0)
#另外datetime对象可以相减,得出一个datetime.timedelta类型:dt2=datetime(2016,1,1,12,12)
delta=dt-dt2delta
datetime.timedelta(254, 74500)
type(delta)
datetime.timedelta
#可以相减,自然也可以把delta加到一个datetime上dt3=datetime(2011,12,11,12,1) #精确到秒
dt4=dt3+deltadt4
datetime.datetime(2012, 8, 22, 8, 42, 40)
print dt3+delta
2012-08-22 08:42:40

循环中的continue、break、pass

  1. continue关键字用于使FOR循环提前进入下一次迭代,即跳过continue后代码块的剩余部分
  2. break是用于完全退出当层循环
  3. pass是可以理解为空的代码占位符,多被用于还没有任何功能的代码块中
#continue的例子,下面代码是跳过None值的部分:sequence=[1,2,None,1,3,None,39]total=0for  value in sequence:    if value is None:        continue    total+=value #注意这句的位置,是不可以在IF中的,因为if里只有None才会执行print total
46
#break,下面的例子,列表求和,碰到5就退出sequence=[1,2,3,4,5]total=0for value in sequence:    if value==5:        break    total+=valueprint total
10
#passx=22if x<0:    print 'negative'elif x==0:    #实现什么功能?还没有想好    passelse:    print 'positive'
positive
0 0