我有一個簡單數據幀,如:列重編熊貓數據幀
>>> 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
我想重新排序ID列如下:
>>> 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比以前更小的時間用小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
但我不知道如何前進。 我將不勝感激
謝謝!
你能澄清一下ID應該改變的邏輯嗎?爲什麼索引= 4時從1變爲4? –
該ID標識進度狀態1(開始)至5(結束)。如果這個過程正常工作,那麼理想的變化是1,2,3,4,5。但是當狀態從4(正在進行)返回到1(再次開始)時,我需要假定進程始終處於開始狀態 – user2320577