私のデータを簡単のようになりますパンダのデータフレームに変換することができます。フィルタの倍数
import pandas as pd
data={'a':["t", "g"]*9,'b' [1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6],'distance':[10, 15, 290, 300, 315, 320, 350, 360, 10, 25, 225, 240, 325, 335, 365, 205, 15, 35]}
df=pd.DataFrame(data,columns=['a','b','distance'])
print df
a b distance
0 t 1 10
1 g 2 15
2 t 3 290
3 g 4 300
4 t 5 315
5 g 6 320
6 t 1 350
7 g 2 360
8 t 3 10
9 g 4 25
10 t 5 225
11 g 6 240
12 t 1 325
13 g 2 335
14 t 3 365
15 g 4 205
16 t 5 15
17 g 6 35
私は「B」列に同じ値を持つすべての行を消去したいが、 「距離」の列に最小値を持つ1行を保持します。この例では、この例では、インデックスが0,1,8,9,16,17の行だけが残るように、「距離」が200より大きいすべての行を消去したいと考えています。結局、すべての行は異なる "b"値と最小の "距離"を持たなければなりません。次のようになります。
a b distance
0 t 1 10
1 g 2 15
2 t 3 10
3 g 4 25
4 t 5 15
5 g 6 35
どうすればいいですか? b
COL上
ありがとうございます。それは非常にスマートな解決策です。 – Georg
私の答えがあなたの質問を解決した場合、それを受け入れることができます。私の答えの左上に空の目盛りが表示されます – EdChum