본문 바로가기
AI Developer/AI Python Tech

[DataFrame] Pandas DataFrame 다루기 - iloc & loc, 값 변경

by 성 언 2023. 8. 12.

판다스 데이터프레임에 대해 학습 후 정리한 포스팅 입니다.

 

이번 포스팅에서는 판다스 데이터프레임의 iloc & loc에 대해 학습합니다.

 

데이터프레임의 데이터에 접근하는 인덱싱 방법인 iloc & loc에 대해 알아보겠습니다.

 

 

 

 

 

I) iloc 

1. iloc: interger location을 의미한다. 정수 기반 인덱싱을 통해 DataFrame의 데이터에 접근이 가능하다. 

import pandas as pd

# 샘플 DataFrame 생성
data = {
    'Name': ['Kim', 'Lee', 'Choi', 'Ryu', 'Do'],
    'Age': [25, 30, 22, 28, 35],
    'City': ['Seoul', 'Anyang', 'Busan', 'Suwon', 'Incheon']
}
df = pd.DataFrame(data)

# iloc를 사용하여 정수위치 데이터에 접근
value = df.iloc[2, 1]  # 2번 인덱스 행과 1번 인덱스 열에 접근
print(value)  # 결과: 22

# 단일 열에 접근 
column = df.iloc[:, 0]  # Column의 인덱스가 0인 모든 Rows에 접근 (Name column)
print(column)
# 결과:
# 0       Kim
# 1       Lee
# 2      Choi
# 3       Ryu
# 4        Do
# Name: Name, dtype: object

# 단일 행에 접근 
row = df.iloc[3, :]  # 행 인덱스가 3인 모든 열에 접근
print(row)
# 결과:
# Name       Ryu
# Age         28
# City      Suwon
# Name: 3, dtype: object

 

 

 

II) loc 

# loc를 사용하여 라벨 인덱싱 데이터에 접근
value = df.loc[1, 'Age']  # 행 label 1, 열 label 'Age'
print(value)  # Output: 30

# Access a single column
column = df.loc[:, 'City']  # 모든 행, 열 label 'City'
print(column)
# Output:
# 0          Seoul 
# 1         Anyang
# 2          Busan
# 3          Suwon
# 4        Incheon
# Name: City, dtype: object

# Access a single row
row = df.loc[2, :]  # 행 label 2, All 열
print(row)
# Output:
# Name    Choi
# Age       22
# City   Busan
# Name: 2, dtype: object

 

 

III) 데이터프레임의 값 변경 시 활용하는 iloc & loc 

1. iloc를 사용하여 값 변경

# iloc를 사용하여 값 변경
# 두 번째 행 (인덱스 1)의 나이를 31로 변경
df.iloc[1, 1] = 31
print(df)

iloc는 DataFrame의 행과 열을 정수 위치(인덱스)를 기반으로 선택하는 방식입니다.

예를 들어, df.iloc[1, 1]은 1번째 행과 1번째 열에 해당하는 값을 선택합니다.

변경할 값의 위치를 정수 인덱스로 명시하여 값을 변경할 수 있습니다.

     Name  Age      City
0     Kim   25     Seoul
1     Lee   31    Anyang
2    Choi   22     Busan
3     Ryu   28     Suwon
4      Do   35   Incheon

2. loc를 사용하여 값 변경

# loc를 사용하여 값 변경
# 'Choi' 이름을 가진 사람의 나이를 23으로 변경
df.loc[df['Name'] == 'Choi', 'Age'] = 23
print(df)

loc는 DataFrame의 행과 열을 레이블(이름)을 기반으로 선택하는 방식입니다.

예를 들어, df.loc[df['Name'] == 'Choi', 'Age']는 'Name' 열이 'Choi'인 행에서 'Age' 열의 값을 선택합니다.

변경할 값의 위치를 레이블로 명시하여 값을 변경할 수 있습니다.

     Name  Age      City
0     Kim   25     Seoul
1     Lee   31    Anyang
2    Choi   23     Busan
3     Ryu   28     Suwon
4      Do   35   Incheon

사용 시 데이터프레임의 구조와 작업에 맞게 선택하면 됩니다.

 

 

 

 

 

 

 

 

<Summary>

- 데이터프레임 (iloc & loc, 데이터프레임 값 변경)

 

*유의사항

- AI 산업기능요원이 공부하여 남긴 정리입니다.

댓글