Python for Data Analysis(4)

時期和時間

內置的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-dt2
delta
datetime.timedelta(254, 74500)
type(delta)
datetime.timedelta
#可以相減,自然也可以把delta加到一個datetime上
dt3=datetime(2011,12,11,12,1) #精確到秒
dt4=dt3+delta
dt4
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=0
for  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=0
for value in sequence:
    if value==5:
        break
    total+=value
print total
10
#pass
x=22
if x<0:
    print 'negative'
elif x==0:
    #實現什麼功能?還沒有想好
    pass
else:
    print 'positive'
positive
發佈了121 篇原創文章 · 獲贊 10 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章