Название этого может быть немного запутанным, но я постараюсь объяснить, что я пытаюсь сделать. У меня есть OHLC CSV акций. Я пытаюсь добавить новый столбец с именами L и H. Вот что представляет. Мне нужно проверить наименьшую цену открытия за последние n дней (скажем, 5). и мне нужно установить его Низкая цена на L и Высокая цена как H.
Вот мой Dataframe
Date Open High Low
5303 2018-06-11 1681.51 1694.24 1680.59
5304 2018-06-12 1693.00 1699.51 1691.52
5305 2018-06-13 1702.81 1713.75 1700.12
5306 2018-06-14 1713.48 1724.80 1708.87
5307 2018-06-15 1714.00 1720.87 1708.52
5308 2018-06-18 1706.26 1726.74 1702.56
5309 2018-06-19 1709.04 1736.11 1700.39
5310 2018-06-20 1742.50 1762.93 1741.36
5311 2018-06-21 1760.00 1763.10 1717.56
5312 2018-06-22 1742.62 1743.00 1711.90
Я пробовал следующий способ, но он возвращает только минимальное значение, а не серии, которые я могу захватить High и Low
df['Open'].rolling(5).min()
Здесь я пытаюсь получить индекс или целую серию Dataframe rolling()
, чтобы получить значения High и Low этого перехода. Я надеюсь, что смогу объяснить.
EDIT: добавлен ожидаемый результат
Допустим, индекс 5308 является наименьшим открытием за последние 5 строк. Таким образом, L будет равен 5308 Low
столбцу, а H будет равен 5308 High
столбцу в остальных данных
Date Open High Low H L
5309 2018-06-19 1709.04 1736.11 1700.39 1726.74 1702.56
5310 2018-06-20 1742.50 1762.93 1741.36 1726.74 1702.56
5311 2018-06-21 1760.00 1763.10 1717.56 1726.74 1702.56
5312 2018-06-22 1742.62 1743.00 1711.90 1726.74 1702.56