私は以下のようなデータフレームを持っています。行を比較し、必要に応じて行を取り出します
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 #
「距離」列は昇順で並べる必要があります。
しかし、データフレームの順序は固定です(「・エリア」の注文がchangableではありません)、意味
、行は前の行よりも小さい場合、 行を取り出すことが必要です。たとえば、私が見たいと思っている結果がここにあります。私はfor i in range(0, len(index), 1)
ような何かを試すことができます知っている
Area Distance
1 19626207
2 20174412
3 20175112
8 20195112
9 21127633
...
しかしにはパンダを使用して目標を達成するためesaier方法はありますか?
お願いします。
現在の行がcummaxよりも大きいかどうかを確認できます。 'dfDistance.astype(" int64 ")> = df.Distance.astype(" int64 ")。cummax()]' – ayhan
@ayhan、それです!回答として投稿してください - それはあなたの解決策であり、それは私より優れています。 – MaxU
私はキーアイデアは「cummax」だと思っています。あなたが思いついたのは重複したものなので、回答を編集する方が良いと思います。 :) – ayhan