Я хочу выяснить, все ли предыдущие значения X и следующие значения X в строке все ниже n-го значения. И если да, я хочу изменить столбец 'isPeak' с 0 на 1. У меня есть трудности с поиском того, как сравнить предыдущие и последующие значения с текущим, и я написал некоторый псевдокод в свой for-l oop :
X = 10
for i in range(len(df)):
P = df.get_value(i, 'Price')
if P >= *price(i-X:i+X)*:
df.at[i, 'isPeak'] = 1
Мне нужно заменить цену (iX: i + X) таким образом, чтобы она сравнивала все X предыдущих и X следующих цен с текущей. Я нашел решение, которое включает использование shift (), которое добавляет X предыдущую и X следующую цену в качестве дополнительных столбцов. Это облегчает их сравнение, поскольку мне просто нужно выяснить, является ли это наибольшее значение в этом ряду. Тем не менее, я хотел бы получить более эффективную или «более чистую» версию, если это возможно, и у кого-то есть идея.
Большое спасибо заранее!