Процентное изменение в зависимости от условия - PullRequest
0 голосов
/ 27 августа 2018

введите описание изображения здесь Я пытаюсь рассчитать процентное изменение с понедельника по пятницу. Также когда-то неделя начинается во вторник, как показано на фото

Data = { ‘Date’ : [‘8/24/2018’, ‘8/23/2018’, ‘8/22/2018’, ‘8/21/2018’, ‘8/20/2018’, ‘8/17/2018’, ‘8/16/2018’], “Day of Week’ : [ ‘Friday’, ‘Thursday’, ‘Wednesday’, ‘Tuesday’,’Monday’, ‘Friday’, ‘Thursday’], ‘Price’ : [120.3, 121.2, 119.98,120.03,123.6,120.5,122.5] }

def week_pct_chng (row): 
       If row[‘Day of Week’] == “Friday” and row[‘Day of Week’].shift(1) == ‘Monday’:
              Return ( the percentage of Monday to Friday) 
       Else: 
              Return(‘NaN’)

Я не знаю, что в ответе. Какой мой ответ должен быть -.026

Пожалуйста, помогите спасибо

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

введите описание изображения здесь

Мне удалось рассчитать процентное изменение с понедельника по пятницу, однако проблема, с которой я столкнулся, когда-то начинается неделя во вторник.

0 голосов
/ 27 августа 2018

Вы можете вычислить процентную долю по всему столбцу Price, используя pct_change, а затем просто найдите, где вы заинтересованы:

Установка:

Data = { 'Date' : ['8/24/2018', '8/23/2018', '8/22/2018', '8/21/2018', '8/20/2018', '8/17/2018', '8/16/2018'], 'Day of Week' : [ 'Friday', 'Thursday', 'Wednesday', 'Tuesday','Monday', 'Friday', 'Thursday'], 'Price' : [120.3, 121.2, 119.98,120.03,123.6,120.5,122.5] }

df = pd.DataFrame(Data)

Код:

df['percent_change'] = df.Price.pct_change()

df.loc[(df['Day of Week'] == 'Friday') & (df['Day of Week'].shift() == 'Monday'), 'percent_change']

, который возвращает ваше значение в виде серии:

5   -0.025081
Name: percent_change, dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...