2016-07-28 65 views
1

在我現有的表中,我有日期列,並從該列我能夠找出weekday.By使用to_timedelta我創建了week_start列,但它沒有給出正確的日期。 下面的代碼是:嗨,我想添加weekstart列

final_data['weekday'] = final_data['DateOfInvoice'].dt.weekday 

final_data['Weekstart'] = final_data['DateOfInvoice'] - pd.to_timedelta(final_data['weekday'],unit='ns', box=True, coerce=True) 

輸出是:

Date  weekday weekstart 
2016-07-23 5   2016-07-22 
+0

如果我的答案解決了你的問題,那麼你可以接受它,將在我的答案左上角有一個空的刻度標記 – EdChum

回答

1

IIUC你可以構造一個TimedeltaIndex,並從另一列減:

In [152]: 
df['weekstart'] = df['Date'] - pd.TimedeltaIndex(df['weekday'], unit='D') 
df 

Out[152]: 
     Date weekday weekstart 
0 2016-07-23  5 2016-07-18 

其實平日列不必要:

In [153]: 
df['weekstart'] = df['Date'] - pd.TimedeltaIndex(df['Date'].dt.dayofweek, unit='D') 
df 

Out[153]: 
     Date weekday weekstart 
0 2016-07-23  5 2016-07-18 
+0

非常感謝你...它的工作原理我是非常新的Python,我陷入了另一個問題。如果你可以幫助我,我可以解決經理給出的任務... –

+0

如果你有一個新的問題,請發表一個新的問題,回答評論中的問題是不是好的做法 – EdChum

相關問題