Я думаю, что это делает то, что нужно:
import pandas as pd
df = pd.DataFrame({'value': [
False,
False,
True,
True,
False,
False,
False,
False,
True,
True,
True,
False,
False,
False,
False,
True,
True,
]})
result = df[df.value | df.value.shift(-1) | df.value.shift(1)]
print(result)
Вывод:
value
1 False
2 True
3 True
4 False
7 False
8 True
9 True
10 True
11 False
14 False
15 True
16 True