Что такое синтаксис панд для поиска на основе существующих столбцов + значений строк?
Я пытаюсь воссоздать немного запутанный сценарий, но я сделаю все возможное, чтобы объяснить это:
- Создайте pandas df1 с двумя столбцами:
'Date'
а также'Price'
- сделано - Я добавляю две новые колонки:
'rollmax'
а также'rollmin'
, где'rollmax'
8-дневный максимум и'rollmin'
скользящий минимум. - сделано Теперь мне нужно создать еще один столбец
'rollmax_date'
это заполнилось бы правилом поиска:для строки n перейти к столбцу
'Price'
и проанализировать значения за последние 8 дней и найти максимум, а затем получить значение соответствующего столбца'Price'
и поместите это значение в столбце'rollingmax_date'
,та же логика для
'rollingmin_date'
, но вместо скользящей максимальной даты, мы ищем скользящую минимальную дату.
Теперь мне нужно найти максимальные и минимальные значения предыдущих 8 дней для того же скользящего окна из 8 дней, которое я уже нашел.
Я сделал первые два и попробовал третий, но я получаю неправильные результаты. Код ниже дает мне только даты, когда в одной строке df["Price"]
такой же как df['rollmax']
, но это не приносит все соответствующие даты из 'Date'
в 'rollmax_date'
df['rollmax_date'] = df.loc[(df["Price"] == df.rollmax), 'Date']