У меня есть датафрейм, представляющий это:
Мне нужно создать еще один столбец 'Mark'
, и вот почему он сложен.Для значения 'C'
день исполнения равен Sunday 8/11/2018
.На следующий день будет Monday 9/11/2018
.Поэтому мне нужно вычислить weekdays
значения previous week
.Для этого случая мне нужно вычислить 1/11/2018
, 2/11/2018
, 3/11/2018
, 4/11/2018
и 5/11/2018
.
Однако, если next day
из execution day
равно Friday
или Saturday
Мне нужно взять значения предыдущей недели 'Friday'
и 'Saturday'
.Например, B
выполняется на Thursday 12/11/2018'
.Следующий день - пятница.Поэтому мне нужно вычислить среднее значение Friday
и Saturday
на предыдущей неделе, которые равны 6/11/2018
и 7/11/2018
Изначально у меня не было столбца Day
, который я добавил после слов с помощью
df['Execution']=pd.to_datetime(df['Execution'])
df['Day']=df['Execution'].dt.weekday_name
И я могу добраться до точки, где он что-то печатает, если execution date
совпадает с одним из column dates
.Вот код:
for j,row in df.iterrows():
x=str(row['Execution'])
x=x[slicing]
for i, val in enumerate (df.columns.values):
print(df.columns[i])
if i<l1:
val=str(val)
val=val[slicing]
if x==val: #Execution date matches column date
print('yay')
Я пытаюсь изучать Python самостоятельно, и я начал с изучения pandas dataframe
.
Однако, сейчас я потерян и не могу понять логику дляпродолжить.Может ли кто-нибудь просветить меня таким путем?