У меня есть датафрейм, df, и я хочу добавить инкрементный идентификационный номер в новый столбец на основе текущей и предыдущей строки другого столбца.

данные = [{'X': 6, 'Y': 1}, {'X': 6, 'Y': 1}, {'X': 7, 'Y': 0}, {'X': 7, 'Y': 0}, {'X': 6, 'Y': 1}, {'X': 7, 'Y': 1}, {'X': 7, 'Y': 0} , {'X': 7, 'Y': 1}]

df = pd.DataFrame (данные)

Теперь это условие,

если Текущий X = Предыдущий X & Текущий Y <> Предыдущий Y,

Тогда ID_Number = Новый увеличенный номер

Или

если Текущий X <> Предыдущий X & Текущий Y = Предыдущий Y,

Тогда ID_Number = Новый увеличенный номер

Или

если Текущий X = Предыдущий X и Текущий Y = Предыдущий Y,

Тогда ID_Number = То же, что и предыдущий ID_Number

Или

если Текущий X <> Предыдущий X & Текущий Y <> Предыдущий Y,

Тогда ID_Number = Новый увеличенный номер

Входной Dataframe будет выглядеть так

введите описание изображения здесь

Мое ожидание Выход это

введите описание изображения здесь

-2
blackmamba