Ich habe eine einfache Datenrahmen wie:Spalte Umnummerierung Pandas 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
Ich möchte die ID-Spalten wie folgt neu zu ordnen:
>>> 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
im Grunde jedes Mal dort eine ID kleiner als die vorherige ist man fülle die Präzedenzwerte mit der kleinen ID zurück, um Monotonie zu erhalten. Ich versuche, mit dem folgenden:
df_test.ID.lt(df_test.ID.shift())
, der mir den Änderungspunkt in Monotonie gibt:
0 False
1 False
2 False
3 True
4 False
5 True
Name: ID, dtype: bool
Aber ich weiß nicht, wie sie vorwärts zu bewegen. Ich würde mich über jede Idee freuen
Vielen Dank!
Können Sie die Logik dahinter klären, wo sich die ID ändern sollte? Warum wurde es bei Index = 4 von 1 auf 4 geändert? –
Die ID identifiziert einen Fortschrittsstatus 1 (Beginn) bis 5 (Ende). Wenn der Prozess gut funktioniert, ist die Änderung idealerweise linear 1,2,3,4,5. Aber wenn der Status von 4 (fortlaufend) zurück zu 1 (wieder beginnen) geht, muss ich davon ausgehen, dass der Prozess immer in einem begin-Status war – user2320577