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

Pandas의 인덱싱과 슬라이싱: 데이터프레임에서의 원하는 값 추출하기

by dmkdmk 2023. 4. 3.

인덱싱(Indexing)

데이터프레임에서 인덱싱은 행(row) 또는 열(column)을 선택하는 것을 의미합니다. 데이터프레임은 보통 행과 열에 대한 이름을 가지고 있으며, 이를 이용하여 인덱싱을 할 수 있습니다.

 


열(column) 인덱싱

열 인덱싱은 데이터프레임에서 열(column)을 선택하는 것을 의미합니다. 열 인덱싱은 대괄호 [] 안에 열 이름을 넣어서 수행합니다. 예를 들어, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다.

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 30, 35, 40],
    'gender': ['F', 'M', 'M', 'M']
})


df['name']

>>>

0      Alice
1        Bob
2    Charlie
3      David
Name: name, dtype: object


이 데이터프레임에서 name 열을 선택했습니다.


행(row) 인덱싱

행 인덱싱은 데이터프레임에서 행(row)을 선택하는 것을 의미합니다. 행 인덱싱은 loc 메서드를 사용하여 수행합니다. loc 메서드는 대괄호 [] 안에 행의 이름을 넣어서 수행합니다. 예를 들어, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다.



df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 30, 35, 40],
    'gender': ['F', 'M', 'M', 'M']
}, index=['A', 'B', 'C', 'D'])

df.loc['B']

>>>
name      Bob
age        30
gender      M
Name: B, dtype: object


이 데이터프레임에서 B 행을 선택하려면 다음과 같이 코드를 작성합니다.



이 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.



슬라이싱(Slicing)


데이터프레임에서 슬라이싱은 행(row)을 범위로 선택하는 것을 의미합니다. 슬라이싱은 loc 메서드를 사용하여 수행합니다. loc 메서드는 대괄호 [] 안에 행의 이름 범위를 넣어서 수행합니다. 

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 30, 35, 40],
    'gender': ['F', 'M', 'M', 'M']
}, index=['A', 'B', 'C', 'D'])


df.loc['B':'C']

>>>

       name  age gender
B       Bob   30      M
C  Charlie   35      M


이 데이터프레임에서 B부터 C까지의 행을 선택했습니다. 슬라이싱에서는 시작 인덱스와 끝 인덱스 모두 포함됩니다.


또한, 열(column)에 대해서도 슬라이싱을 할 수 있습니다. 열 슬라이싱은 loc 메서드를 사용하여 수행합니다. loc 메서드는 대괄호 [] 안에 열 이름 범위를 넣어서 수행합니다. 예를 들어, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다.

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 30, 35, 40],
    'gender': ['F', 'M', 'M', 'M']
}, index=['A', 'B', 'C', 'D'])


df.loc[:, 'age':'gender']

>>>


   age gender
A   25      F
B   30      M
C   35      M
D   40      M


이 데이터프레임에서 age부터 gender까지의 열을 선택하였습니다. 슬라이싱에서는 시작 열과 끝 열 모두 포함됩니다.

이상으로 데이터프레임에서의 인덱싱과 슬라이싱에 대해 알아보았습니다.

댓글