Я работаю с большим колонке dataframe, которые имеют следующую структуру:Как создать уникальный столбец идентификатора с заданной числовой серией?
В:
df1 = pd.DataFrame({'A': [0,0,0,1,2,0,1,0,1,2,3,4,5,6,7]})
Out:
A
0 0
1 0
2 0
3 1
4 2
5 0
6 1
7 0
8 1
9 2
10 3
11 4
12 5
13 6
14 7
Как вы можете видеть, A
это упорядоченная последовательность от 0 до п. Это указывает порядок в моих данных. Например:
A
2 0
3 1
4 2
5 0
Давайте возьмем кусок df1
(от индекса 2
к 5
), в колонке A
0
представляет собой начало и 2
представляет собой конец последовательности. С другой стороны, если нет последовательного числа (например, 0
), это означает, что последовательность завершается. Таким образом, мой вопрос как эффективно генерировать новый столбец (например, id
) сообразуйтесь с помощью уникального ключа или чисел, основанного на численном порядке A
:
A id
0 0 -> begin and ends 1
1 0 -> begin and ends 2
2 0 -> begin 3
3 1 -> continue 3
4 2 -> ends 3
5 0 -> begin 4
6 1 -> ends 4
7 0 -> begin 5
8 1 -> continue 5
9 2 -> continue 5
10 3 -> continue 5
11 4 -> continue 5
12 5 -> continue 5
13 6 -> continue 5
14 7 -> ends 5
Я добавил диаграмму, чтобы быть более ясными ,
Святое дерьмо ... Я использовал iter(), next и if loops .... это потрясающе. Можете ли вы дать объяснение? ... –
ya, дайте мне секунду – jezrael
Большое спасибо –