Самый быстрый способ перебрать данные в панде?

Как мне пройти через фрейм данных и вернуть только те строки, которые удовлетворяют определенному условию? Это условие должно быть проверено на предыдущих строках и столбцах. Например:

          #1    #2    #3    #4
1/1/1999   4     2     4     5
1/2/1999   5     2     3     3
1/3/1999   5     2     3     8
1/4/1999   6     4     2     6
1/5/1999   8     3     4     7
1/6/1999   3     2     3     8
1/7/1999   1     3     4     1

Я хотел бы протестировать несколько условий для каждой строки, и если все условия выполнены, я хотел бы добавить строку в список. Например:

for row in dataframe:
    if [row-1, column 0] + [row-2, column 3] >= 6:
        append row to a list

У меня может быть до 3 условий, которые должны выполняться для строки, которая будет возвращена. Я думаю о том, чтобы сделать это, составив список для всех наблюдений, которые верны для каждого условия, а затем составив отдельный список для всех строк, которые появляются во всех трех списках.

Мои два вопроса следующие:

Какой самый быстрый способ получить все строки, которые удовлетворяют определенному условию на основе предыдущих строк? Кажется, что циклический перебор данных в 5000 строк может быть слишком длинным. Особенно, если потенциально 3 условия должны быть проверены.

Каков наилучший способ получить список строк, которые удовлетворяют всем 3 условиям?

Ответы на вопрос(1)

Ваш ответ на вопрос