2017-06-14 13 views
0

ショート問題の値のインデックスラベルを取得します:Pythonのパンダ:DATAFRAME

私は、次の(サンプル)データフレーム持っている:私は値を知っていれば

 height weight hair 
joe  5.6  123  brown 
mary  5.2  110  blonde 
pete  6.0  160  red 

DFを'hair'は 'blonde'ですが、df.ix ['mary'、 'hair']に対応するインデックスラベル(整数の位置ではない)を取得するにはどうすればよいですか? (言い換えれば、私は髪が「ブロンド」であることを知って「マリー」を得たいと思う)。

インデックスの整数値が必要な場合は、get_locを使用します。しかし、私はラベルを欲しい。

ありがとうございます。

答えて

1

最初のラベルが必要な場合:

df[df['hair'] == 'blonde'].index[0] 

それとも、すべての値たい場合:

labels = df[df['hair'] == 'blonde'].index.values.tolist() 
1

私は一般的にnp.whereを使用して次のようにします。あなたがリストに結果をしたい場合、あなたはindex

.tolist()方法を使用することができます

Index([u'mary'], dtype='object') 

:期待される結果を与える

import numpy as np 

idx = df.index[np.where(df['hair'] == 'blonde')] 

関連する問題