Как удалить значения не в кластере, используя фрейм данных Pandas? - PullRequest
0 голосов
/ 15 ноября 2018

Если у меня есть такой фрейм данных для панд, состоящий из 0 и 1 с:

 1 1 1 0 0 0 0 1 0
 1 1 1 1 1 0 0 0 0
 1 1 1 0 0 0 0 1 0 
 1 0 0 0 0 1 0 0 0 

Как отфильтровать выбросы так, чтобы я получил что-то вроде этого:

 1 1 1 0 0 0 0 0 0 
 1 1 1 1 1 0 0 0 0
 1 1 1 0 0 0 0 0 0
 1 0 0 0 0 0 0 0 0

Так, что я удаляю выбросы.

1 Ответ

0 голосов
/ 15 ноября 2018

Мы можем сделать это с совокупным продуктом по второй оси с pandas.cumprod [pandas-doc] :

>>> df.cumprod(axis=1)
   0  1  2  3  4  5  6  7  8
0  1  1  1  0  0  0  0  0  0
1  1  1  1  1  1  0  0  0  0
2  1  1  1  0  0  0  0  0  0
3  1  0  0  0  0  0  0  0  0

Такой же результат можно получить при помощи pandas.cummin [pandas-doc] :

>>> df.cummin(axis=1)
   0  1  2  3  4  5  6  7  8
0  1  1  1  0  0  0  0  0  0
1  1  1  1  1  1  0  0  0  0
2  1  1  1  0  0  0  0  0  0
3  1  0  0  0  0  0  0  0  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...