2017-01-06 20 views
1

numberの値を増やしてDataFrameを注文し、その最高値のインデックスを取得したいとします。 (ここでは、第二列ですので、結果は「BCD」を次のようになります。データフレームの指定された列で最高値の行インデックスを見つける

number L-word ID 
ABC 1  Lord ABC works 
BCD 25  Land BCD works 
CDE 3  Loft CDE works 

(私のハック以下、私は別の列を追加することでこれを回避働いていたとしても、遠隔地など奇妙ではありません解決策はありますか?私は、一般的に仕事ができる方法を理解し、同じ名前を持つ、ちょうどように)だからここに私が思い付いたコードです:

numbers_ordered = df.sort_values(['number'], ascending = False, na_position='last') 
    df = numbers_ordered[:1] 
    a = dict(df.head()) 
    b = a['ID'] 
    b = str(b) 
    c = b[:2] 

は、これは非常に厄介なことと、これを行うための簡単なオプションがあるべきと思われますしかし、私はパンダとwwwのドキュメントで見つけることができません。私は、インデックス(df = df.reset_index()のようなもの)を変更し、古いインデックス私のDFのトップヒットのインデックスを単に "抽出"するオプションがあるはずだと思うので、それはまだ究極の解決策ではありませんか?

+0

私は、私は完全に理解しているかどうかはわかりません。 df.number.max()について列 "number"の最大値のインデックスを取得しようとしていますか?Index.values? – dleal

+0

私は上記のようにインデックスを取得してから並べ替えることができると考えています – dleal

+0

希望のデータセットを投稿できますか?現在、達成しようとしていることは明確ではありません。 – MaxU

答えて

2

パンダにインデックスを照会するかなりの数の方法があり、出力

   Col1  Col2  Col3 
0 0.583251 -0.014694 1.516529 
1 0.274758 0.438513 0.994992 
2 0.601611 1.753035 0.864451 
3 -0.971775 -1.461290 0.121570 
4 2.239460 -1.099298 -1.953045 
5 2.314444 0.215336 0.470668 
6 -0.138696 0.422923 -0.624436 
7 0.602329 -0.015627 0.023715 
8 0.594784 0.739058 1.094646 
9 -0.104579 0.557339 1.977929 

5 
+0

あなたは少し速くなりました;) – MaxU

+1

@MaxU :)同じ回答 – Shijo

+0

ありがとう、私の風変わりな回避策よりも簡単だった:) –

1

df['number'].argmax()

import pandas 
import numpy as np 
df = pandas.DataFrame(np.random.randn(10,3),columns=['Col1','Col2','Col3']) 
print df 
print df['Col1'].argmax() 

試してみてください、それはあなたが必要なのですか何明確ではありません。ここで

は、それらのほんの一部です:

In [48]: df['number'].argmax() 
Out[48]: 'BCD' 

In [49]: df.index 
Out[49]: Index(['ABC', 'BCD', 'CDE'], dtype='object') 

In [50]: df.index == 'BCD' 
Out[50]: array([False, True, False], dtype=bool) 

In [51]: df.query("index in ['BCD','ABC']") 
Out[51]: 
    number L-word   ID 
ABC  1 Lord ABC works 
BCD  25 Land BCD works 

In [52]: df.loc[['ABC','CDE','CDE']] 
Out[52]: 
    number L-word   ID 
ABC  1 Lord ABC works 
CDE  3 Loft CDE works 
CDE  3 Loft CDE works 
関連する問題