У меня есть фрейм данных, согласно которому, если условие удовлетворяется, он просматривает пару строк выше, чтобы найти конкретную строку с другой строкой, и заменяет себя всей этой ячейкой, в которой была строка.
Вот пример:
![enter image description here](https://i.stack.imgur.com/HqLJ0.png)
Если в столбце типа обнаружен «тест», он ищет на 3 строки выше строку, содержащую строку «Тема»,Если это условие выполнено, оно меняет имя своей ячейки на всю найденную ячейку.
Данные:
Type Score
Ignore Ignore
Subject_English NA
test 58
test 6
test 87
Subject_science NA
test 23
test 47
test 89
test 45
test 23
ignore ignore
ignore ignore
ignore ignore
test 54
Subject_Math NA
Ignore ignore
Ignore ignore
test 88
Наконец, если несколько строк удовлетворяют начальному условию, он принимаетсамый последний.Во-вторых, после изменения ячейки эта ячейка может использоваться для удовлетворения первого условия для другой ячейки.В-третьих, может быть несколько строк между строкой «test» и строкой, которую я ищу, чтобы удовлетворить условию, которое мне нужно игнорировать.Дополнительные примечания: Количество тестов может варьироваться, это может быть 3 или 10. Вы можете игнорировать между субъектами.Если возможно, я бы хотел добавить порог, чтобы, если в последних 10 строках не было субъекта, оставьте его в качестве теста