2016-01-05 78 views
-1

我有一些看起來像這樣的數據。我想添加一個week_id日期列,其中week_id表示該周開始的週日。我是python的超級新手(來自R),所以我會使用as.Datecut函數來做這樣的事情。但到目前爲止,我在Python文檔中看到的所有內容都增加了一個星期的數字。在Python中創建'week of'變量

customer date 
xxxx 12/1/15 
xxxx 12/3/15 
xxxx 12/7/15 
xxxx 12/13/15 
yyyy 12/14/15 
yyyy 12/15/15 
yyyy 12/21/15 

我想輸出看起來像這樣

customer date week_id 
xxxx  12/1/15 11/29/15 
xxxx  12/3/15 11/29/15 
xxxx  12/7/15 12/6/15 
xxxx  12/13/15 12/13/15 
yyyy  12/14/15 12/13/15 
yyyy  12/15/15 12/13/15 
yyyy  12/21/15 12/20/15 
+0

這並不困難,有人可能會給你答案,但我認爲你應該從一些代碼開始。一種方法是找到當前日期的DOW,然後找到前一個星期日。這很容易做到,而你的問題不是這個的重複 - 這應該讓你開始http://stackoverflow.com/questions/9847213/which-day-of-week-given-a-date-python – PyNEwbie

回答

2
from datetime import datetime, timedelta 
day = '12/01/15' 
date = datetime.strptime(day, '%m/%d/%y') 
start_of_week = date - timedelta(days = (date.weekday() + 1) % 7) 
print(start_of_week.strftime('%m/%d/%Y')) 

2015年11月29日