[Pandas] series 인덱스로 값 찾기

반응형
    반응형

    Series에서 인덱스로 값 찾는 방법입니다. 

    인덱스로 값 찾는 방법에는 두가지 방법이 있습니다. 

    • loc : 지정한 인덱스로 값 찾기
    • iloc : 고유 인덱스로 값 찾기
    • 인덱스 가져오기

     

     

    loc 

    지정한 인덱스대로 값을 찾는 방법입니다. 

     

    import pandas as pd
    s = pd.Series([2,4,6,8,10],index=[10,20,30,40,50])

     

    값 하나만 가져온다면 숫자나 str 로 나타납니다.

    s.loc[10]

     

    값을 두개 이상 가져온다면 series로 나타납니다.

    타입이 series로 나타나기 때문에 코딩작업시 값이 하나만 나오는지 두개가 나오는지 확인이 필요합니다.

    1번째와 3번째 값을 가져오겠습니다.

    리스트를 넣어주어야 합니다.

    s.loc[[10,30]]

     

    범위로 가져오고 싶다면 슬라이싱을 이용합니다.

    s.loc[10:30]

     

    pandas가 버전업되면서 인덱스가 없는 값에 대해서는 더이상 나오지 않습니다. 

    따라서 지정된 인덱스에 대해서만 값을 찾아올 수 있습니다.

     

    s.loc[[10,11]]

     

     

     

    iloc

    고유 인덱스로 찾는 방법입니다. 고유 인덱스는 값에 0부터 순서대로 인덱스를 붙여주는 걸 의미하고

    for문에서 지정한 인덱스로 할 수 없는 경우에 쓰면 유용합니다.

     

    인덱스 슬라이싱으로 가져오면 1번째에서 3번째의 값을 가져옵니다.

    이렇듯 지정한 인덱스와 다르게 고유 인덱스로 가져옵니다. 

    s.iloc[0:3]

     

    loc와 마찬가지로 여러개의 값을 가져올 수 있습니다.

    s.iloc[[0,2]]

     

    인덱스 가져오기

    Series의 인덱스를 가져오려면 다음과 같이 합니다. 

    리스트와 비슷한 형식으로 나타납니다.

    s.index

     

    리스트와 같이 인덱스 슬라이싱 방법과 동일합니다.

    s.index[0:3]

     

    관련 포스팅

    [Python/Pandas] - [Pandas]Series 슬라이싱

    댓글

    Designed by JB FACTORY

    ....