2016-11-16 3 views
0

내 데이터 프레임 DF에는 'A'라는 열이 있으며 그 값은 정수 값입니다. 내가팬더 데이터 프레임의 특정 열에 대한 int 값을 반환하십시오.

DF[DF.someCondition=condition].A 

이 모양 (1)의 객체를 반환 사용하여 특정 행에 대한 값을 검색 할 때 INT는 모양을 가지고 있지 않기 때문에 int로되지 않도록. 이 값을 다른 numpy 배열의 인덱스 항목으로 사용하고 싶기 때문에 int를 원한다. A의 값을 int 값으로 검색하려면 어떻게해야합니까? 일반적

+2

이 시도 :'DF.loc [DF.someCondition = condition, 'A']' – MaxU

+0

이것은 잘못되었습니다. 나는 위치를 원하지 않는다. A – HimanAB

+0

의 가치를 원하십니까? – MaxU

답변

1

DF.someCondition = condition 

의 조건은 한번 이상 참 이상일 수있다.

DF[DF.someCondition=condition].A 

모양의 물체 (1,) 아닌 스칼라 값을 반환하는 이유입니다.

DF.loc[DF.someCondition=condition, 'A'].item() 
: 당신이 조건이 한 번만 True 인 것이 확실한 경우 는, 당신은 MaxU suggested로,이 체인 인덱싱을 방지하기 위해 .loc를 사용하는 것이 더 좋습니다, item

DF[DF.someCondition=condition].A.item() 

그러나 사용하여 스칼라 값을 추출 할 수 있습니다 예를 들어


,

import numpy as np 
import pandas as pd 

df = pd.DataFrame(np.arange(6).reshape(3,2), columns=list('AB')) 
df[df['B']==3].A 
# 1 2 
# Name: A, dtype: int64 

df.loc[df['B']==3, 'A'].item() 
# 2 
+0

감사합니다. 그것은 완벽하게 작동합니다. – HimanAB

관련 문제