Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – DataFrame에서 행(Row) 삭제하는 방법 완벽 가이드

Pandas DataFrame에서 특정 행을 삭제하려면 drop() 메서드를 사용하고, 매개변수로 삭제하려는 행의 인덱스 레이블(index label)을 지정하면 됩니다.

1. 기본 사용 방법

먼저 예제로 사용할 DataFrame을 생성해 보겠습니다. 여기서는 인덱스 레이블을 'w', 'x', 'y', 'z'로 설정합니다.

import pandas as pd

dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35], [40, 45]],
                         index=['w', 'x', 'y', 'z'],
                         columns=['a', 'b'])

이제 인덱스 레이블을 이용해 행을 삭제해 보겠습니다. 아래 코드는 인덱스 레이블이 'w'인 행을 삭제하는 예시입니다.

dataFrame = dataFrame.drop('w')

2. 전체 예제 코드

다음은 DataFrame 생성부터 행 삭제까지의 전체 과정을 담은 코드입니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35], [40, 45]],
                         index=['w', 'x', 'y', 'z'],
                         columns=['a', 'b'])

# 원본 DataFrame 출력
print("DataFrame...\n", dataFrame)

# 인덱스 레이블이 'w'인 행 삭제
dataFrame = dataFrame.drop('w')
print("\n행 삭제 후 DataFrame...\n", dataFrame)

3. 실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DataFrame...
    a   b
w  10  15
x  20  25
y  30  35
z  40  45

행 삭제 후 DataFrame...
    a   b
x  20  25
y  30  35
z  40  45

결과를 보면 인덱스가 'w'인 행이 성공적으로 제거되고, 나머지 행('x', 'y', 'z')만 남아 있는 것을 확인할 수 있습니다.

4. 추가 팁: inplace 옵션 활용하기

drop() 메서드는 기본적으로 원본 DataFrame을 수정하지 않고 변경된 새로운 객체를 반환합니다. 만약 원본 자체를 직접 수정하고 싶다면 inplace=True 옵션을 사용하세요.

dataFrame.drop('w', inplace=True)

또한 여러 개의 행을 한 번에 삭제하려면 리스트 형태로 전달하면 됩니다.

dataFrame = dataFrame.drop(['w', 'x'])

마무리 정리

  • drop('인덱스레이블'): 단일 행 삭제
  • drop(['레이블1', '레이블2']): 여러 행 한 번에 삭제
  • inplace=True: 원본 DataFrame을 직접 수정
  • 기본값으로 drop()은 새로운 객체를 반환하므로 결과를 변수에 다시 할당해야 합니다.