Eu tenho um DataFrame
assim:
index B
0 1
1 2
2 5
3 6
4 7
5 10
E preciso mesclar as linhas onde a diferença é menor ou igual a 2, selecionar a linha com o valor menor e definir a contagem de mesclagens
O resultado deve ser assim:
index B count
0 1 2
1 5 3
2 10 1
Como isso pode ser resolvido usando pandas?
Muito semelhante a @AndrejKesely , apenas com sintaxe mais curta, usando agregações nomeadas :
Saída:
Use
.groupby()
onde você faz.diff()
seguido por.cumsum()
:Impressões: