[pandas] loc v.s iloc

써니·2022년 1월 25일
0

Python

목록 보기
6/9

pandas에서 특정 행/열을 골라낼 때 사용하는 방법 : loc && iloc

  • loc = location!

1. loc = location

  • dataframe의 행이나 열의 label이나 boolean array로 인덱싱
    = 사람이 읽을 수 있는 라벨 값으로 특정 값들을 골라오는 방법
  • df.loc[행 인덱스 값, 열 인덱스 값]
    ex)
    df.loc[0,'Name'] : 0번째 행, column이 'Name'인 값


  • 하나의 값만 입력 : 하나의 행
    ex)
    df.loc[0] : df 데이터 프레임에서 0번째 행만 가져옴


  • 슬라이싱하기
    - df1.loc[:,:] : 전체 행, 전체 column 가져옴
    • df1.loc[:,'Name'] : 특정 column 가져오기
      = df1['Name']
    • 'Name'이 Sunny인 값들만 추출하기
        cond1 = df1['Name'] == 'Sunny'
        df1.loc[cond1]
        
        # or just
        df1.loc[df1['Name']=='Sunny']

2. iloc = integer + location

  • dataframe의 행이나 column의 인덱스로 특정 값을 추출
  • df.iloc[행 인덱스, 열 인덱스]
    df1.loc[0]은 인덱스 이름이 0인 행만 추출해줘~
    df1.iloc[0]은 0번재 행에 있는 값들만 추출해라~


  • df1.iloc[0,2]: 0행, 2열의 값 추출


  • 슬라이싱 하기
    - df1.iloc[:5, :5] : 5번째까지의 행, 5번째까지의 열로 범위 지정 (index 0번째~ 4번째)
    • df1.iloc[::2, :] : df1에서 전체 값 중 행은 2간격으로 추출, 열은 전체 추출

iloc에서는 정수 값만 들어가야 함~!





0개의 댓글