본문 바로가기

공부/code

[Python] Pandas : loc 과 iloc 의 차이

Python Pandas 파이썬 판다스 loc과 iloc의 차이

 

✔ loc

1. 데이터프레임의 행이나 컬럼에 label이나 boolean array로 접근.

2. location의 약어로, 인간이 읽을 수 있는 label 값으로 데이터에 접근하는 것이다. 

 

✔ iloc

1. 데이터프레임의 행이나 컬럼에 인덱스 값으로 접근.

2. integer location의 약어로, 컴퓨터가 읽을 수 있는 indexing 값으로 데이터에 접근하는 것이다.

 

 

 

 


 

예시

 

 

✔ 데이터 프레임 생성 

import pandas as pd

df = pd.DataFrame({
    "bid_id": [1, 2, 3],
    "bidder_id": ["Gadi", "Conda", "Lion"],
    "city": ["Seoul", "LA", "Sydney"],
    "item": ["TV", "jewelry", "book"]}).set_index("bid_id")
df

 

 

 

📌 iloc을 이용해서 데이터에 접근하기 

 

✔ 첫번째 행 접근 

df.iloc[0]

 

 

 

✔ 두번째 행 접근 

df.iloc[1]

 

 

 

✔ 세번째 행 접근 

df.iloc[2]

 

 

 

✔ 마지막 행 접근 

df.iloc[-1]

 

 

 

✔ 첫번째 열 접근 

df.iloc[:,0]

 

 

 

✔ 두번째 열 접근 

df.iloc[:,1]

 

 

 

✔ 세번째 열 접근 

df.iloc[:,2]

 

 

 

✔ 마지막 열 접근 

df.iloc[:,-1]

 

 

 

📌 loc을 이용해서 데이터에 접근하기 

 

✔ 레이블 이름이 1인 행에 접근

df.loc[1]

 

 

이 때 주의해야 할 부분은, loc[1]에서 1은 레이블 이름이므로 인덱스 번호와는 구분된다는 사실을 알아야 한다. 인덱스로 이 데이터에 접근하려면 df.iloc[0] 이라고 접근해야 한다. 

 

 

✔ 레이블 이름이 city인 열에 접근

df.loc[:, "city"]

 

 

 

 


 참고 

pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html

pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html

 

반응형