2016-07-28 2 views
1

В моей текущей таблице у меня есть столбец даты и из этого столбца я могу узнать, что в будние дни. Используя to_timedelta, я создал столбец week_start, но не дал правильную дату. Вот код:Привет, я пытаюсь добавить столбец с исходным кодом

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

Если у вас есть новая проблема, пожалуйста, напишите новый вопрос, отвечая на вопросы в комментариях, не является хорошей практикой на SO – EdChum

Смежные вопросы