반응형
pandas 라이브러리의 loc와 iloc는 데이터프레임에서 데이터를 선택하고 조작하는 데 유용한 메서드입니다. loc는 레이블 기반 인덱싱을, iloc는 위치 기반 인덱싱을 사용합니다. 아래는 이 두 메서드를 사용하는 방법에 대한 예제 코드입니다.
데이터프레임 생성
먼저 예제 데이터프레임을 생성해보겠습니다.
import pandas as pd
# 예제 데이터프레임 생성
data = {
'Name': ['John', 'Anna', 'Peter', 'Linda'],
'Age': [28, 24, 35, 32],
'City': ['New York', 'Paris', 'Berlin', 'London']
}
df = pd.DataFrame(data)
print("데이터프레임:\n", df)
Name Age City
0 John 28 New York
1 Anna 24 Paris
2 Peter 35 Berlin
3 Linda 32 London
loc 사용 예제
loc는 레이블을 기반으로 데이터를 선택합니다.
# 특정 행 선택 (인덱스 1에 해당하는 행)
row_1 = df.loc[1]
print("\nloc[1] 사용:\n", row_1)
# 특정 행과 열 선택 (인덱스 1의 'Name' 열)
name_1 = df.loc[1, 'Name']
print("\nloc[1, 'Name'] 사용:\n", name_1)
# 조건을 만족하는 행 선택 (나이가 30보다 큰 행)
age_filter = df.loc[df['Age'] > 30]
print("\n나이가 30보다 큰 행:\n", age_filter)
# 여러 행과 여러 열 선택
subset = df.loc[[0, 2], ['Name', 'City']]
print("\n여러 행과 여러 열 선택:\n", subset)
출력:
loc[1] 사용:
Name Anna
Age 24
City Paris
Name: 1, dtype: object
loc[1, 'Name'] 사용:
Anna
나이가 30보다 큰 행:
Name Age City
2 Peter 35 Berlin
3 Linda 32 London
여러 행과 여러 열 선택:
Name City
0 John New York
2 Peter Berlin
iloc 사용 예제
iloc는 위치를 기반으로 데이터를 선택합니다.
# 특정 행 선택 (두 번째 행)
row_1 = df.iloc[1]
print("\niloc[1] 사용:\n", row_1)
# 특정 행과 열 선택 (두 번째 행의 첫 번째 열)
name_1 = df.iloc[1, 0]
print("\niloc[1, 0] 사용:\n", name_1)
# 슬라이싱을 통한 행과 열 선택
subset = df.iloc[1:3, 0:2]
print("\n슬라이싱을 통한 행과 열 선택:\n", subset)
# 마지막 행 선택
last_row = df.iloc[-1]
print("\n마지막 행 선택:\n", last_row)
출력:
iloc[1] 사용:
Name Anna
Age 24
City Paris
Name: 1, dtype: object
iloc[1, 0] 사용:
Anna
슬라이싱을 통한 행과 열 선택:
Name Age
1 Anna 24
2 Peter 35
마지막 행 선택:
Name Linda
Age 32
City London
Name: 3, dtype: object
요약
- loc는 레이블(인덱스 이름 또는 열 이름)을 사용해 데이터를 선택합니다.
- iloc는 정수 위치 인덱스를 사용해 데이터를 선택합니다.
반응형