개발은 처음이라 개발새발

[Pandas] Indexer의 종류 본문

파이썬/판다스

[Pandas] Indexer의 종류

leon_choi 2024. 3. 14. 17:31
반응형

Series와 DataFrame에서는 공통적으로 인덱싱이 활용됩니다. 인덱싱이란 index를 갖는 자료에서 index를 활용하여 값을 추출해내는 것을 뜻합니다. 이 인덱싱을 도와주는 역할을 하는 것들을 Indexer라고 합니다. 그렇다면 Indexer에는 어떤 종류가 있는지 보겠습니다.

#Indexer의 종류
- [] (Braket Indexing)
라벨(인덱스 이름)이나 정수 인덱스를 이용하여 데이터에 접근 또는 슬라이싱 가능
ex> series['label'], series[0]

- .loc[] (Label-based Indexing)
라벨(인덱스 이름)을 사용하여 데이터에 접근하거나 조작하는 인덱서

- .iloc[] (Integer-based Indexing)
정수 인덱스를 사용하여 데이터에 접근하거나 조작하는 인덱서

- .at[] (Fast Label-based Indexing)
.loc[]와 유사한 라벨 기반 인덱싱을 제공하지만, 스칼라 값을 가져오는데 최적화

- .iat[] (Fast Integer-based Indexing)
.iloc[]와 유사한 정수 기반 인덱싱르 제공하지만, 스칼라 값을 가져오는데 최적화
import pandas as pd
import numpy as np
import random
from faker import Faker

random_seed = 42

fake = Faker('ko_KR')
Faker.seed(random_seed)

names = [fake.name() for _ in range(10)]
index = [chr(ord('A')+i) for i in range(10)]

ns = pd.Series(names,index = index)
print(ns)
_________________________________________________________
output:
A    김수민
B    서정남
C    김영자
D    김영일
E    김재호
F    김은서
G    김지원
H    이민지
I    이미숙
J    홍예준
dtype: object
#인덱서 예시
print('ns[2]:',ns[2])
print("ns['C']:",ns['C'])

print("ns.loc['D']:",ns.loc['D'])
print("ns.iloc[3]:",ns.iloc[3])

print("ns.at['D']:",ns.at['D'])
print("ns.iat[3]:",ns.iat[3])
_________________________________________________________
output:

ns[2]: 김영자
ns['C']: 김영자
ns.loc['D']: 김영일
ns.iloc[3]: 김영일
ns.at['D']: 김영일
ns.iat[3]: 김영일
반응형