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

Pandas DataFrame에서 처음 3개 행 삭제하는 방법 – iloc 활용법

Pandas에서 DataFrame의 처음 세 행을 삭제하려면 iloc() 메서드를 사용할 수 있습니다. iloc는 위치 기반(정수 인덱스) 인덱싱을 지원하기 때문에, 행 번호를 기준으로 원하는 범위의 데이터를 간단하게 잘라낼 수 있습니다.

처리 순서

  • 2차원 구조이면서 크기 변경이 가능한 표 형태의 데이터(DataFrame) df를 생성합니다.
  • 입력 DataFrame인 df를 출력하여 원본 데이터를 확인합니다.
  • df.iloc[3:]를 사용해 처음 세 행을 제거합니다.
  • 변경된 DataFrame을 출력하여 결과를 확인합니다.

동작 원리

df.iloc[3:]은 "인덱스 3(즉, 네 번째 행)부터 마지막 행까지 선택"한다는 의미입니다. 따라서 인덱스 0, 1, 2에 해당하는 처음 세 개의 행은 결과에서 자연스럽게 제외됩니다. 이 연산은 원본 DataFrame을 직접 수정하지 않고 새로운 DataFrame을 반환하므로, 결과를 다시 변수에 할당해 주어야 합니다.

예제 코드

import pandas as pd

df = pd.DataFrame(
    {
        "x": [5, 2, 7, 0, 7, 0, 5, 2],
        "y": [4, 7, 5, 1, 5, 1, 4, 7],
        "z": [9, 3, 5, 1, 5, 1, 9, 3]
    }
)

print("입력 DataFrame:\n", df)
df = df.iloc[3:]
print("처음 3개 행 삭제 후:\n", df)

출력 결과

입력 DataFrame:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1
4  7  5  5
5  0  1  1
6  5  4  9
7  2  7  3

처음 3개 행 삭제 후:
   x  y  z
3  0  1  1
4  7  5  5
5  0  1  1
6  5  4  9
7  2  7  3

참고 사항

처음 N개의 행을 삭제하고 싶다면 df.iloc[N:]처럼 숫자만 바꿔주면 됩니다. 반대로 마지막 행들을 제거하고 싶다면 df.iloc[:-N]과 같이 음수 인덱스를 활용할 수도 있습니다. 또한 drop() 메서드와 df.index[:3]를 조합하는 방법(df.drop(df.index[:3]))으로도 동일한 결과를 얻을 수 있으니, 상황에 맞게 선택해서 사용하시면 됩니다.