2014-01-28 5 views
0

정보의 데이터 프레임이 있습니다. 한 열은 순위입니다. 난 그냥 2 순위의 행을 찾아 ('이름'이라는 다른 열 항목을 얻을 싶어요.) 행을 찾을 수 있지만 이름을 얻을 수 있지만 다른 텍스트를 추가 할 수 순수 텍스트 항목이 아닙니다. 그것의 대상.Python Pandas는 하나의 텍스트 값을 얻습니다.

어떻게 이름을 텍스트로 가져올 수 있습니까?

코드 :

print "The name of the 2nd best is: " + groupDF.loc[(DF['Rank']==2),'Name'] 

이 나에게 행과 Name의 ID를 제공합니다. 난 그냥이 내가 무엇을 얻을 수있는 Name

원하는 :

4 The name of the 2nd best is: Hawthorne 

    Name: CleanName, dtype: object 

난 그냥 답을 얻을 수에 대한 검색 무엇을 알아낼 수 없습니다. 나는 다른 많은 것을 얻는다. 그러나이 대답이 아니다.

미리 감사드립니다.

+0

try :'groupDF.iloc [(DF [ 'Rank'] == 2)]] [ 'Name']' – agconti

답변

3

:

난 당신이 종류의 데이터 프레임을 이해 :

names = ["Almond","Hawthorn","Peach"] 
groupDF = pd.DataFrame({'Rank':[1,2,3],'Name':names}) 

groupDF.loc[(groupDF['Rank']==2),'Name'] 당신에게 시리즈 개체를 제공합니다. 순위 고유하면 다음과 같은 두 가지 가능성 중 하나가

groupDF.loc[(groupDF['Rank']==2),'Name'].item() 

또는

groupDF.loc[(groupDF['Rank']==2),'Name'].iloc[0] 

결과가 작동합니다

'Hawthorn' 

순위가 고유하지 않으면, 두 번째는 여전히 작동하고 명령으로 생성 된 Series 객체의 첫 번째 요소 인 첫 번째 히트를 제공합니다.

1

결과 Series 개체의 item() 메서드를 호출해야합니다. 조금 더 자세하게

관련 문제