Предположим, у нас есть датафрейм панд, который выглядит следующим образом:
df = pd.DataFrame(
{'A': [0, 0, 1, 0],
'a': list('aaaa'),
'B': [1, 0 , 0, 1],
'b': list('bbbb'),
'C': [1, 1, 0, 1],
'c': list('cccc'),
'D': [0, 1, 0, 1],
'd': list('dddd')},
index=[1, 2, 3, 4])
Вывод будет:
A a B b C c D d
1 0 a 1 b 1 c 0 d
2 0 a 0 b 1 c 1 d
3 1 a 0 b 0 c 0 d
4 0 a 1 b 1 c 1 d
Итак, теперь я хочу получить строки этого фрейма данных, который содержит по крайней мере, например, два нуля последовательно в столбцах A
, B
, C
, D
.
Для кадра данных выше строки с индексами 2 и 3 удовлетворяют этим условиям: столбцы A
, B
второй строки содержат нули, а столбцов B
, C
достаточно для третьей строки.
И метод нахождения такой последовательности должен работать, если я хочу найти три или более последовательных нуля.
Итак, в конце концов я хочу получить логическую серию, которая должна выглядеть следующим образом:
1 false
2 true
3 true
4 false
для использования этой серии в качестве маски для исходного кадра данных.