iloc 소개
iloc
는 Pandas에서 데이터프레임의 행과 열을 인덱스 위치로 접근할 수 있는 방법을 제공합니다.
숫자 기반으로 인덱스를 지정할 수 있으며, Python의 리스트 슬라이싱과 유사한 방식으로 작동합니다.
사용법1 - 기본
import pandas as pd
# 예제 데이터프레임 생성
data = {'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data)
# 첫 번째 행 (0번 인덱스) 조회
print(df.iloc[0])
출력 결과
A 1
B 10
C a
Name: 0, dtype: object
사용법 2 - 행과 열 선택
# 첫 번째 행의 첫 번째 열
print(df.iloc[0, 0]) # 결과: 1
# 두 번째 행의 두 번째 열
print(df.iloc[1, 1]) # 결과: 20
# 마지막 행의 마지막 열
print(df.iloc[-1, -1]) # 결과: e
사용법 3 - 슬라이싱
# 첫 번째부터 세 번째 행까지 조회
print(df.iloc[0:3])
출력 결과
A B C
0 1 10 a
1 2 20 b
2 3 30 c
사용법 4 - 특정 조건 만족하는 행 선택하기
# B 열의 값이 30보다 큰 행 선택
filtered_df = df.iloc[df[df['B'] > 30].index]
print(filtered_df)
출력 결과
A B C
3 4 40 d
4 5 50 e
사용법 5 - 값 수정하기
# 첫 번째 행의 첫 번째 열 값 수정
df.iloc[0, 0] = 100
print(df)
# 두 번째 행의 모든 값 수정
df.iloc[1] = [200, 300, 'z']
print(df)
출력 결과
A B C
0 100 10 a
1 200 300 z
2 3 30 c
3 4 40 d
4 5 50 e
사용법 7 - 행 또는 열 순서 뒤집기
# 행 순서 뒤집기
reversed_df = df.iloc[::-1]
print(reversed_df)
# 열 순서 뒤집기
reversed_columns_df = df.iloc[:, ::-1]
print(reversed_columns_df)
출력 결과
# 행 순서 뒤집기
A B C
4 5 50 e
3 4 40 d
2 3 30 c
1 200 300 z
0 100 10 a
# 열 순서 뒤집기
C B A
0 a 10 100
1 z 300 200
2 c 30 3
3 d 40 4
4 e 50 5
사용법 8 - 특정 조건 기반 수정하기
# B 열 값이 30보다 큰 경우 A 열 값을 999로 수정
df.iloc[df[df['B'] > 30].index, 0] = 999
print(df)
출력 결과
A B C
0 100 10 a
1 200 300 z
2 3 30 c
3 999 40 d
4 999 50 e