[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

    ....