У меня есть простой dataframe как:Колонка перенумерации Панды Dataframe
>>> df_test = pd.DataFrame(columns=["ID" ])
>>> df_test["DATE"] = [ '2001-02-01', '2001-03-01', '2001-02-15', '2001-03-15', '2001-02-15', '2001-03-30']
>>> df_test['ID'] = [1,2,3,1,5,4]
>>> df_test
ID DATE
0 1 2001-02-01
1 2 2001-03-01
2 3 2001-02-15
3 1 2001-03-15
4 5 2001-02-15
5 4 2001-03-30
Я хотел бы изменить порядок идентификаторов столбцов следующим образом:
>>> df_test
ID DATE
0 1 2001-02-01
1 1 2001-03-01
2 1 2001-02-15
3 1 2001-03-15
4 4 2001-02-15
5 4 2001-03-30
в основном каждый раз, когда есть ID меньше, чем предыдущая один заполняет предыдущие значения с помощью небольшого идентификатора, чтобы сохранить монотонность. Я пытаюсь со следующим:
df_test.ID.lt(df_test.ID.shift())
, что дает мне точку изменения в монотонности:
0 False
1 False
2 False
3 True
4 False
5 True
Name: ID, dtype: bool
Но я не знаю, как двигаться вперед. Я был бы признателен любой идеей
Спасибо!
Можете ли вы разъяснить логику того, где должен измениться идентификатор? Почему он изменился с 1 на 4 по индексу = 4? –
Идентификатор идентифицирует статус прогресса 1 (начало) до 5 (конец). Если процесс работает нормально, то изменение идеально линейно 1,2,3,4,5. Но когда статус переместится с 4 (продолжается) назад на 1 (начнется снова), мне нужно предположить, что процесс всегда находился в состоянии начала – user2320577