Обратите внимание, что простое выполнение diff() не является решением, поскольку это устранит слишком много 1< /код>с. Вот пример:
Код: Выделить всё
df = pd.DataFrame.from_dict({'ix':list(range(12)), 'in':[1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1]})
df['out'] = [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0] # desred output
ix in out
0 0 1 1
1 1 0 0
2 2 0 0
3 3 1 0 # this 1 needs to become 0
4 4 1 1 # we keep this 1, because the previously kept one is sufficiently far
5 5 0 0
6 6 1 0
7 7 0 0
8 8 1 1
9 9 0 0
10 10 0 0
11 11 1 0
Подробнее здесь: https://stackoverflow.com/questions/786 ... rows-apart