Pandas DataFrame에서 n번째 행을 가져오려면 iloc() 메서드를 사용하면 됩니다. 예를 들어 df.iloc[4]는 행 인덱스가 0부터 시작하기 때문에 다섯 번째 행을 반환합니다. 즉, 원하는 행의 순서에서 1을 뺀 값을 인덱스로 지정해야 합니다.
iloc()는 정수 위치(integer-location) 기반 인덱싱을 지원하는 메서드로, 라벨이 아닌 행의 위치 값을 기준으로 데이터에 접근합니다. 반면 라벨 기반으로 접근하려면 loc() 메서드를 사용해야 합니다.
처리 단계
- 2차원 구조이면서 크기 변경이 가능하고 서로 다른 타입의 데이터를 담을 수 있는 DataFrame인 df를 생성합니다.
- 입력 DataFrame df를 출력합니다.
- n번째 행의 위치를 저장할 변수 nth_row를 초기화합니다.
- iloc() 메서드를 사용하여 n번째 행을 가져옵니다.
- 반환된 결과를 출력합니다.
예제 코드
import pandas as pd
df = pd.DataFrame(
dict(
name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'],
marks=[89, 23, 100, 56, 90],
subjects=["Math", "Physics", "Chemistry", "Biology", "English"]
)
)
print("입력 DataFrame:\n", df)
nth_row = 3
result = df.iloc[nth_row]
print("DataFrame의 ", nth_row, "번째 행:\n", result)
실행 결과
입력 DataFrame:
name marks subjects
0 John 89 Math
1 Jacob 23 Physics
2 Tom 100 Chemistry
3 Tim 56 Biology
4 Ally 90 English
DataFrame의 3번째 행:
name Tim
marks 56
subjects Biology
Name: 3, dtype: object
위 예제에서 nth_row가 3이므로 인덱스 3에 해당하는 네 번째 행, 즉 이름이 'Tim'인 학생의 데이터가 Series 형태로 반환된 것을 확인할 수 있습니다. 특정 행뿐만 아니라 df.iloc[0:3]처럼 슬라이싱을 활용하면 여러 행을 한 번에 가져올 수도 있습니다.