Группировать столбец, используя диапазон отклонений в пандах - PullRequest
1 голос
/ 29 марта 2019

Привет. Я пытаюсь сгруппировать столбец по значениям, которые расположены ближе друг к другу, например:

column1 column2
322      a
326      b
323      c
323      d
323      e
324      f
325      g
498      h
498      i
495      j
496      k

Я хочу сгруппировать столбец1, используя значения с дисперсией + - 3

Результат:

column1 , column2
323 (+-3) a,b,c,d,e,f,g
495 (+-3) h,i,j,k

1 Ответ

1 голос
/ 29 марта 2019

Сортируйте значение по sort_values, затем с помощью diff и cumsum создайте ключ группы

df=df.sort_values('column1')
df.sort_index().\
    groupby(df.column1.diff().gt(3).cumsum()).\
      agg({'column1':'first','column2':','.join})
         column1        column2
column1                        
0            322  a,b,c,d,e,f,g
1            498        h,i,j,k
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...