1
我有一個示例數據框,如下所示。如果需要,比較行然後取出行
df = pd.DataFrame({ 'Area' : ['1', '2', '3', '4','5', '6', '7', '8', '9', '10'],
'Distance' : ['19626207', '20174412', '20175112', '19396352',
'19391124', '19851396', '19221462', '20195112', '21127633', '19989793'],
})
Area Distance
0 1 19626207
1 2 20174412
2 3 20175112
3 4 19396352 # smaller, take out
4 5 19391124 #
5 6 19851396 #
6 7 19221462 #
7 8 20195112
8 9 21127633
9 10 19989793 #
'距離'列需要按升序排序。
但是數據幀的順序是固定的(的「區域」命令是不多變)
這意味着,如果行是比以前的行小,則需要被取出 的行。例如,這是我想看到的結果。
Area Distance
1 19626207
2 20174412
3 20175112
8 20195112
9 21127633
我知道我可以嘗試像for i in range(0, len(index), 1)
......
但有esaier方式來實現用熊貓的目標是什麼?
有什麼提示嗎?
我想你可以檢查當前行是否大於cummax。 'df [df.Distance.astype(「int64」)> = df.Distance.astype(「int64」)。cummax()]' – ayhan
@ayhan,就是這樣!請張貼它作爲答案 - 這是你的解決方案,它比我的更好。 – MaxU
我認爲主要想法是'cummax' - 你想出了,重複是一個小細節,所以我認爲如果你編輯你的答案會更好。 :) – ayhan