взять количество строк, разделенных значением - PullRequest
0 голосов
/ 12 июля 2020

Вот в чем дело, у меня есть такая серия:

 id
608    0
609    1
610    0
611    2
612    0
613    0
614    0
615    1
616    2
617    1

Я хочу подсчитать, сколько значений было до и после некоторой точки, например:

Перед первым номером 2 у меня есть 3 строки, а после того, как у меня будет 4, я достигну другого числа 2, которое имеет 1 строку после него.

Итак, я хочу получить список, который будет примерно таким:

[3, 4, 1]

Есть способ сделать это на pandas?

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Вы можете попробовать с cumsum

df[df.id.ne(2)].groupby(df.id.eq(2).cumsum()).size()
id
0    3
1    4
2    1
dtype: int64
0 голосов
/ 12 июля 2020

Попробуйте cumsum, groupby и count()

В цепочке;

 df[df.id.ne(2)].groupby((df.id==2).cumsum())['id'].count().tolist()




 [3, 4, 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...