2017-06-14 49 views
0

短的問題:Python的大熊貓:獲取指數標籤的價值在一個數據幀

我有以下的(樣本)數據幀:

DF:

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

如果我知道的價值'hair'是'金髮',我如何獲得與df.ix ['mary','hair']對應的索引標籤(不是整數位置)? (換句話說,我想讓'瑪麗'知道頭髮是'金髮')。

如果我想要使用get_loc的索引的整數值。但我想要標籤。

在此先感謝。

回答

1

如果您想要第一個標籤:

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

或者,如果你希望所有的值:

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

我通常都在使用np.where如下:

import numpy as np 

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

這給預期的結果:

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

如果你想要的結果列表中,你可以使用的index

.tolist()方法