[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