본문 바로가기
Python/Pandas

get 및 lookup 메서드 설명, 옵션, 사용 예제 -pandas(19)

by 콩돌 2019. 11. 1.
반응형

파이썬 버전 3.7 기준

pandas 버전 0.25.1 기준



 get 및 lookup 메서드 


본 포스팅에서는 get 및 lookup 메서드에 대해 서술하도록 한다. 



 get 메서드 


pandas는 데이터 선택을 위해서 사용될 수 있는 메서드인 get 메서드를 지원한다.

이 메서드는 대괄호[ ]를 통한 인덱싱과 유사하게 사용될 수 있다.

  ○ 차이점으로는 대괄호[ ]의 경우 데이터를 찾지 못할 시, 예외를 발생시키지만, get() 메서드는 기본값을 반환한다.

다음은 get 메서드의 사용형식을 보여준다. 


get() 메서드 사용형식)

Series.get(key default=None)

DataFrame.get(key, default=None)


key는 찾으려 하는 데이터의 레이블을 입력받는다.
  ○ Series에서는 행의 레이블(index)를 입력받는다.
  ○ DataFrame에서는 열의 레이블(columns)을 입력받는다.
default는 데이터를 찾을 수 없는 경우 출력할 데이터를 입력받는다.
  ○ 기본값은 None이고 이때 아무것도 출력하지 않는다.

 get 메서드의 사용 예제

아래 예제는 get 메서드의 사용 예제이다.


get 메서드 사용 예)

# pandas와 numpy의 import

In[2]: import pandas as pd

In[3]: import numpy as np


# 예제용 배열 선언

In[5]: ex_df=pd.DataFrame([[0,1,2], [3,4,5], [8,7,9]], index=['r0', 'r1', 'r2'], columns=['c0','c1','c2'])

In[6]: ex_df

Out[6]: 

    c0  c1  c2

r0   0   1   2

r1   3   4   5

r2   8   7   9


# get 메서드의 사용 예

In[7]:ex_df.get('c0')

Out[7]: 

r0    0

r1    3

r2    8

Name: c0, dtype: int64


# 없는 레이블을 입력했을 시

In[8]:ex_df.get('x1')


# default 입력변수의 활용

In[9]:ex_df.get('x1', default= 999)

Out[9]: 999



 lookup 메서드 


DataFrame에서 하나의 요소가 아니라 여러 요소를 추출한 데이터로 배열을 구성해야 하는 경우도 있다. 

이런 상황에선 lookup 메서드를 사용하는 것이 적절하다.

다음은 lookup 메서드의 사용형식을 보여준다.


lookup() 메서드 사용형식)

DataFrame.lookup(row_labels, col_labels)


row_labels는 찾으려 하는 행의 레이블로 구성된 배열을 입력받는다.
col_labels는 찾으려 하는 열의 레이블로 구성된 배열을 입력받는다.


 lookup 메서드 사용 예제

아래는 lookup 메서드의 사용 예제를 보여준다.


lookup 메서드 사용 예)

# pandas와 numpy의 import

In[2]: import pandas as pd

In[3]: import numpy as np


# 예제용 배열 선언

In[10]: ex_df=pd.DataFrame([[0,1,2], [3,4,5], [8,7,9]], index=['r0', 'r1', 'r2'], columns=['c0','c1','c2'])

In[11]: ex_df

Out[11]: 

    c0  c1  c2

r0   0   1   2

r1   3   4   5

r2   8   7   9


# lookup 메서드의 활용

In[12]: ex_df.lookup(['r1','r2'], ['c0','c2'])

Out[12]: array([3, 9], dtype=int64)



 메서드 옵션 세부사항


 DataFrame.get(self, key, default=None)

메서드가 적용되는 객체로부터 key로 입력된 데이터를 얻는다.

입력된 key가 객체로부터 찾을 수 없다면 default 값을 반환한다. 


key: object

객체로부터 찾으려 하는 데이터를 입력받는다.



 DataFrame.lookup(self, row_labels, col_labels)

DataFrame에 사용되는 레이블 기반의 인덱싱 함수이다. 

열과 행의 레이블이 동일한 배열의 길이로 주워지면, 각 (row, col) 페어로 참조한 값들의 배열을 반환한다.


row_labels: sequence

검색하기 위해 사용되는 행의 레이블(index)을 입력받는다.


col_labels: sequence

검색하기 위해 사용되는 열의 레이블(columns)을 입력받는다.




 

 

 

 

 참고자료

  https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html

  https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.get.html

  https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.lookup.html

 

 

 

 


반응형

댓글