데이터 프레임에서 값을 조회하는 방법중 loc와 iloc 방법을 소개합니다.

loc는 행이나 열의 라벨을 직접 조회가능하며, iloc는 숫자의 형태로 접근 가능합니다.

 

우선 실습으로 사용할 데이터프레임을 제작합니다.

import pandas as pd
my_dictionary2 = {"col1":[0,1,2,3], "col2": pd.Series([1,2,3,4],
						index=["A","B","C","D"]),"col3":['A','B','C','D']}
df=pd.DataFrame(data=my_dictionary2,index=["A","B","C","D"])
df

우선 loc를 이용하여 행을 탐색합니다.

df.loc["A"]

두가지 이상의 행을 탐색하고 싶은 경우에는 다음과 같습니다.

df.loc[["A","B"]]

슬라이싱도 사용가능합니다.

df.loc["A":"C"]

 

열을 탐색하고 싶은 경우에는 조금 다르게 사용해야합니다.

만약 위의 방법 그대로 적용하는경우 다음과 같이 오류가 발생합니다.

df.loc["col1"]

다음과 같은 방법을 사용합니다.

df.loc[:,"col1"]

그외에 이러한 방법도 가능합니다.

df.loc[:]["col1"]

 

마지막으로 특정행의 특정 열의 값을 찾고싶다면 다음과 같이 수행합니다.

df.loc["A"]["col1"]


iloc의 경우 행이나 열의 라벨을 이용해 접근하는것이 아닌 숫자의 형태로 접근 가능합니다.

배열을 생각하시면 편합니다.

 

우선 행을 접근합니다.

df.iloc[1]

배열은 시작이 0이기에 1 행을 접근한 경우 두번째 행이 출력된 것을 알 수 있습니다.

 

마찬가지로 열에 대한 접근은 다음과 같습니다.

df.iloc[:,1]

마지막으로 행과 열 모두 지정해서 접근합니다.

df.iloc[0,0]

 

참고

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html

 

pandas.DataFrame.loc — pandas 1.4.3 documentation

A slice object with labels, e.g. 'a':'f'. Warning Note that contrary to usual python slices, both the start and the stop are included

pandas.pydata.org

 

'Others > Data Science' 카테고리의 다른 글

Preprocessing (3) Encoding  (0) 2022.07.18
Preprocessing (2) 누락된 값의 처리(Null)  (0) 2022.07.15
Pandas - DataFrame (2) 삭제  (0) 2022.07.14
Preprocessing (1) train_test_split  (0) 2022.07.14
Pandas - DataFrame (1) 생성  (0) 2022.07.14

+ Recent posts