본문 바로가기
  • CobsLab upgrades your company value by AI technology
pandas

pandas 기초(4) - loc와 iloc 차이

by dmkdmk 2023. 1. 27.

안녕하세요 콥스랩(COBS LAB)입니다. 오늘 소개해드릴 주제는 pandas입니다. 이번시간에는 인덱스에서 행 선택할 때 사용하는 loc와 iloc에 관해서 배워보도록 하겠습니다.

 

 

저번 시간에 사용한 데이터 프레임을 가져왔습니다.

df = pd.DataFrame({'name': ['A','B','C','D','E','F'],
                   'age': [20,22,18,18,24,30],
                   'state': ['서울','부산','대구','포항','울산','광주'],
                   'point': [74,84,70,90,88,97]}
                  )

df
>>>

 

 

loc

loc는 데이터 프레임의 행/열의 라벨을 통해 추출하는 방법입니다.

 

loc에 하나의 값을 입력하면 그에 해당되는 하나의 행만 출력됩니다.

df.loc[0]

전체 데이터 프레임에서 인덱스 이름이 0인 행만 출력하였습니다.

 

 

df.loc[0,'name']

>>>
'A'

인덱스명이 0이고, ‘name’이라는 칼럼에 있는 값을 추출했습니다.

 

 

 

슬라이싱을 loc에 적용하여 데이터 프레임 값을 가져올 수 있습니다.

df.loc[:, 'age']

df.loc [ : , ‘age’]를 사용하여 ‘age’ 칼럼의 전체 행을 추출하였습니다.

 

 

 

df.loc[:2, :'state']

df.loc [ : 2 , : 'state']를 사용하여 행의 인덱스는 0부터 2까지, 칼럼은 ‘name’부터 ‘state’까지 범위를 지정하였습니다.

 

 

iloc

데이터 프레임 행/열의 순서를 나타내는 정수를 통해 가져오는 방법입니다. loc가 라벨을 사용한다면 iloc는 각 행렬의 순번을 사용하는 차이가 있습니다.

 

 

df.iloc[0]

전체 데이터 프레임에서 0번째 행에 있는 값들만 추출하였습니다.

 

 

df.iloc[0,2]

>>>
'서울'

데이터 프레임의 0번 행, 2번 칼럼에 위치한 값을 추출하였습니다.

 

 

df.iloc[:3, :3]

3번째까지의 행, 3번째까지의 열로 범위를 지정하여 추출하였습니다.

 

 

df.iloc[0,'name']

 

참고로 iloc에는 문자열로 값을 입력하면 에러가 뜹니다.

 

 

이번 시간에는 index 행 선택에 관한 loc와 iloc에 대해서 배워봤습니다. 다음시간에는 데이터 정렬에 대해서 배워보도록 하겠습니다.

댓글