잠토의 잠망경

[Pandas] 데이터 추출(행, Row)-iloc, loc 본문

공부/Python

[Pandas] 데이터 추출(행, Row)-iloc, loc

잠수함토끼 2018. 12. 23. 12:11

iloc, loc 공통

iloc, loc 모두 행, 열 을 지정하여 Data를 획득한다.

df.iloc[[행],[열]]    # Data의 행 번호 활용, integer만 가능
df.loc[[행],[열]]        # DataFrame index 활용, 아무 것이나 활용 가능

Data 추출 방법

슬라이싱 구문

행, 열의 list를 기본으로 표현 가능하다.

subset = df.loc[:,['year','pop']] # 모든 행(:), year, pop Column
subset = df.iloc[:,[2,4,-1]]      # 2,4, -1(마지막) 열 획득

range 구문

#sample01
small_range = list(range(5)) #[0,1,2,3,4] 
df.iloc[:,small_range]

#sample02
small_range = list(range(3,6)) #[3,4,5]
df.iloc[:,small_range]

#sample03
small_range = list(range(0,6,2)) #[0,2,4]
df.iloc[:,small_range]

슬라이싱 & range 구문

슬라이싱 - 시작:종료(-1):step

슬라이싱 활용

sub_set = df.iloc[:,:3]    # == list(range(3))    == [0,1,2]
sub_set = df.iloc[:,0:6:2] # == list(range(0,6,2) == [0,2]

list 활용

df.iloc[[0,99,999],[0,3,5]]

loc 활용

주의
시작:마지막 index의 경우 마지막까지 나온다. list와 조금 다르다.

df.loc[[0,99,999],['col1','col2','col3']]
df.loc[2:5,['col1', 'col3']] # 2,3,4,5 index가 모두 출력된다. 
Comments