[Pandas] 원하는 위치값 가져오기(at,iat)

반응형
반응형

인덱스를 이용한 값 찾는 방법입니다. 

loc와 iloc에 대한 포스팅을 했었습니다.

loc와 iloc는 인덱스에 따른 모든 컬럼의 값을 가져오는데에 초점이 맞춰져 있었는데 

at,iat은 정확한 위치의 값을 요청하는 메쏘드입니다.

 

영어에서도 at은 꼭 집는다는 의미를 담고 있어서 그 부분을 강조한 메쏘드가 아닌가 싶습니다.

아무튼 loc와 iloc가 보다 포괄적인 개념이라면 at,iat는 명확한 개념이라고 볼 수 있습니다. 

loc와 iloc에서도 at,iat 기능을 그대로 쓸 수 있기 때문에 더 명확한 코드작성을 위해서

at,iat을 쓰는 것이라 생각할 수 있습니다.

 

df.at[index,column]

지정한 인덱스를 이용해 원하는 위치값을 가져올 수 있습니다.

국내 ETF의 하나인 KODEX 200의 데이터를 가지고 보이겠습니다.

df

 

이 중에서 at을 이용해 2002-10-17Close값을 가져오겠습니다.

df.at['2002-10-17','Close']

 

꼭 집어서 하나의 값만 가져오는 메쏘드임을 알 수 있습니다. 

 

 

df.iat[row_number,colum_number]

iat은 고유하게 정해지는 row_number, column_number로 위치를 지정해 가져올 수 있습니다. 

row_number로 하는 것이 더 편할 경우가 있는데 그럴 때 쓰는 방식입니다.

0부터 숫자를 매기기 때문에 직접적으로 실제로 쓰려고 하면 굉장히 헷갈립니다.

for문을 쓴다면 오히려 더 쉬울 수 있는 방식이기는 해서 아예 안 쓰는 것도 아닙니다.

 

df.iat[3,3]

 

관련 포스팅

[Python/Pandas] - [Pandas] DataFrame 특정 row 선택하는 두가지 방법(loc,iloc)

[Python/Pandas] - [Pandas] 데이터프레임 멀티인덱스 다루기(loc,xs)

Designed by JB FACTORY