классифицировать числовые ряды с Python - PullRequest
0 голосов
/ 15 мая 2018

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

df = pd.DataFrame({'A':[1,1,1,1,1,1,2,2,3,3,3,3,3],'B':[1,2,3,12,13,14,1,2,5,6,7,8,50]})

Это приводит к:

df
Out[9]: 
    A   B
0   1   1
1   1   2
2   1   3
3   1  12
4   1  13
5   1  14
6   2   1
7   2   2
8   3   5
9   3   6
10  3   7
11  3   8
12  3  50

Столбец B имеет возрастающую числовую серию, но иногда ряд прерывается и продолжает идти с другими числами илиначать снова.Мой желаемый вывод:

Out[11]: 
    A   B  C
0   1   1  1
1   1   2  1
2   1   3  1
3   1  12  2
4   1  13  2
5   1  14  2
6   2   1  3
7   2   2  3
8   3   5  3
9   3   6  4
10  3   7  4
11  3   8  4
12  3  50  5

I appreciate your suggestions, because I can not find an ingenious way to 

сделать это.Спасибо

1 Ответ

0 голосов
/ 15 мая 2018

Это то, что вам нужно?

df.B.diff().ne(1).cumsum()
Out[463]: 
0     1
1     1
2     1
3     2
4     2
5     2
6     3
7     3
8     4
9     4
10    4
11    4
12    5
Name: B, dtype: int32
...