Language/Python
iloc와 loc (인덱싱)
Mesut Özil
2024. 1. 18. 09:22
iloc와 loc (인덱싱)
iloc와 loc는 DataFrame에서는 특정 행과 열을 선택하는 데 사용,
Series에서는 특정 행을 선택하는 데 사용되는 메서드입니다.
그러나 두 메서드는 선택 방법이 다르며 인덱스 기반(iloc) 선택, 레이블 기반(loc) 선택으로 차이가 있습니다.
인덱싱(Indexing): DataFrame 또는 Series에서 특정한 위치의 데이터에 접근하는 것
1. iloc (integer-location based indexing)
- 정수 기반의 인덱스를 사용하여 DataFrame의 특정 행과 열을, Series에서는 특정 행을 선택
# df (데이터프레임)
+-------+---------+-----+---------------+
| Index | Name | Age | City |
+-------+---------+-----+---------------+
| a | Alice | 25 | New York |
| b | Bob | 30 | San Francisco |
| c | Charlie | 35 | Los Angeles |
+-------+---------+-----+---------------+
# 1) 1번째 행 데이터 선택
df.iloc[0]
# 결과
Name Alice
Age 25
City New York
# 2) 2번째 행, 3번째 열 데이터 선택
df.iloc[1,2]
# 결과
'San Francisco'
# 3) 전체 행, 1번째 열(Name)을 제외한 데이터 선택
df.iloc[:, 1:]
# 결과
+-------+-----+---------------+
| Index | Age | City |
+-------+-----+---------------+
| a | 25 | New York |
| b | 30 | San Francisco |
| c | 35 | Los Angeles |
+-------+-----+---------------+
2. loc (label-location based indexing)
- 레이블(인덱스 or 열 이름)을 사용하여 DataFrame의 특정 행과 열을, Series에서는 특정 행을 선택
# df (데이터프레임)
+-------+---------+-----+---------------+
| Index | Name | Age | City |
+-------+---------+-----+---------------+
| a | Alice | 25 | New York |
| b | Bob | 30 | San Francisco |
| c | Charlie | 35 | Los Angeles |
+-------+---------+-----+---------------+
# 1) 1번째 행('a') 데이터 선택
df.loc['a']
# 결과
Name Alice
Age 25
City New York
# 2) 2번째 행('b'), 3번째 열('City') 데이터 선택
df.loc['b','City']
# 결과
'San Francisco'
# 3) 전체 행, 1번째 열('Name')을 제외한 데이터 선택
df.loc[:, 'Age':]
# 결과
+-------+-----+---------------+
| Index | Age | City |
+-------+-----+---------------+
| a | 25 | New York |
| b | 30 | San Francisco |
| c | 35 | Los Angeles |
+-------+-----+---------------+
본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.