2017-01-29 7 views
1

私はパンダのデータフレーム(自動的に0からn-1)を持っていて、それはいくつかのカラムを含みます。等々。私は高値(すべての "価格x"列から選んだ最大価格)の行の列 "名前"の値を見つけることに興味があります。私は最高の価格を得るために価格を含んでいるテーブルのビューを選択してからprice_table_view.values.max()を実行できます。しかし、私はこの番号のインデックスを必要とするので、私は他の列で逆引きを行うことができます。私はprice_table_view.idxmax()を試して、各価格の最高値のインデックスのリストを取得しました。しかし、私はちょうどこれらの最高価格のインデックスをしたい。どのようにしてmaxesの最大値のインデックスを分離するのですか?ありがとう!パンダはテーブルの最高値のインデックスを返す

答えて

0

これを試してみてください:

In [124]: df 
Out[124]: 
    ID price1 price2 price3 
0 1  11  2  88 
1 2  4  5  66 
2 3  7  88  9 
3 4  99  0  99 

In [125]: subset = df.filter(regex='^price') 

In [126]: subset 
Out[126]: 
    price1 price2 price3 
0  11  2  88 
1  4  5  66 
2  7  88  9 
3  99  0  99 

In [127]: np.unravel_index(subset.values.argmax(), subset.values.shape) 
Out[127]: (3, 0) 
+0

感謝を!同様のアプローチを取るこの他のスレッドも見つかりました: http://stackoverflow.com/questions/29972894/pandas-dataframe-get-index-of-max-element – mik

+0

しかし、このコードはインデックスを取得しているようです最小値のインデックスではなく、インデックス値の最小値をとります。それは理にかなっていますか? – mik

+0

@mik、はい、あなたは正しいです!私は答えを修正するつもりです... – MaxU

関連する問題