Итерация по фрейму данных для покупки или отклонения запасов

#python #python-3.x #pandas #numpy

#питон #python-3.x #панды #numpy #python

Вопрос:

Я создал следующие фиктивные данные для (цен на акции за 1 год)

 df = pd.DataFrame(np.random.uniform(100,200, size = (365,1)), index=list_dates, columns=list('A'))
df.head()
  

Ниже приведен заголовок из фрейма данных.

                 A
2018-01-01  151.034052
2018-01-02  157.682393
2018-01-03  134.194843
2018-01-04  199.916593
2018-01-05  194.399690
  

Я пытаюсь сравнить цену сегодняшнего и позавчерашнего дня (если цены на акции меньше, чем вчера, «Купите это», в противном случае «Не покупайте это». Я пытаюсь использовать функцию «shift», чтобы проверить разницу.

 df['difference'] = df['A'] - df['A'].shift(1)
  

Как мне сравнить цену текущего дня с ценой предыдущего дня и создать столбец как «решение» покупать / не покупать акции.

Ответ №1:

Я думаю, вы можете использовать diff и np.where

 df['decision'] = np.where(df.A.diff().ge(0), 'buy', 'sell')