판다스 데이터프레임에 대해 학습 후 정리한 포스팅 입니다.
이번 포스팅에서는 판다스 데이터프레임의 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 산업기능요원이 공부하여 남긴 정리입니다.
'AI Developer > AI Python Tech' 카테고리의 다른 글
[tqdm] 진행 상황 표시 모듈 (0) | 2023.08.16 |
---|---|
[PyTorch] AI 모델 저장 & 불러오기 (0) | 2023.08.15 |
[argparse] Python 스크립트 실행 시 인자 값 전달하기 (0) | 2023.08.13 |
[DataFrame] Pandas DataFrame 다루기 - 특징, 생성, column 수정, index 수정 (0) | 2023.08.11 |
[딥러닝] 기본 용어 (Data, Model, Loss, Optimization Algorithm) (0) | 2023.01.13 |
댓글