Pandas loc과 iloc: 차이점은 무엇인가요?


Pandas DataFrame의 행과 열을 선택할 때 lociloc는 일반적으로 사용되는 두 가지 함수입니다.

두 기능의 미묘한 차이점은 다음과 같습니다.

  • loc는 특정 레이블이 있는 행과 열을 선택합니다.
  • iloc은 특정 정수 위치 에서 행과 열을 선택합니다.

다음 예에서는 각 기능을 실제로 사용하는 방법을 보여줍니다.

예 1: Pandas에서 loc를 사용하는 방법

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12]},
                   index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])

#view DataFrame
df

	team points assists
A A 5 11
B A 7 8
C A 7 10
D A 9 6
E B 12 6
F B 9 5
G B 9 9
H B 4 12

loc를 사용하여 인덱스 레이블을 기반으로 DataFrame에서 특정 행을 선택할 수 있습니다.

 #select rows with index labels 'E' and 'F'
df. loc [[' E ',' F ']]

	team points assists
E B 12 6
F B 9 5

loc를 사용하여 레이블을 기반으로 DataFrame의 특정 행과 열을 선택할 수 있습니다.

 #select 'E' and 'F' rows and 'team' and 'assists' columns
df. loc [[' E ', ' F '], [' team ', ' assists ']]

	team assists
E B 12
F B 9

: 인수와 함께 loc를 사용 하여 레이블을 기반으로 행과 열의 범위를 선택할 수 있습니다.

 #select 'E' and 'F' rows and 'team' and 'assists' columns
df. loc [' E ':,:' assists ']

        team points assists
E B 12 6
F B 9 5
G B 9 9
H B 4 12

예 2: Pandas에서 iloc을 사용하는 방법

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12]},
                   index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])

#view DataFrame
df

	team points assists
A A 5 11
B A 7 8
C A 7 10
D A 9 6
E B 12 6
F B 9 5
G B 9 9
H B 4 12

iloc을 사용하여 정수 위치를 기반으로 DataFrame의 특정 행을 선택할 수 있습니다.

 #select rows in index positions 4 through 6 (not including 6)
df. iloc [4:6]

	team points assists
E B 12 6
F B 9 5

iloc를 사용하여 인덱스 위치에 따라 DataFrame의 특정 행과 열을 선택할 수 있습니다.

 #select rows in range 4 through 6 and columns in range 0 through 2
df. iloc [4:6, 0:2]

	team assists
E B 12
F B 9

: 인수와 함께 loc를 사용 하여 레이블을 기반으로 행과 열의 범위를 선택할 수 있습니다.

 #select rows from 4 through end of rows and columns up to third column
df. iloc [4: , :3]

        team points assists
E B 12 6
F B 9 5
G B 9 9
H B 4 12

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas Loc을 사용하여 여러 조건에 따라 행을 선택하는 방법
Pandas에서 열 값을 기준으로 행을 선택하는 방법
Pandas에서 인덱스로 행을 선택하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다