본문 바로가기
python

python pandas 기초함수 apply

by jinny-log 2024. 10. 21.


apply 함수 활용 예제 

 

 

 

 

 

     SQL               vs                    판다스 
 1.  between .. and                      emp['sal'].between(1000, 3000)
 2.  in                                  emp['job'].isin([ 10, 20 ] )      
 3.  is  null                            emp['comm'].isnull() 
 4.  like                                emp['ename'].apply( lambda 함수) 
    
  emp  <---   판다스 데이터 프레임 ( dataframe )  ,  오라클의 테이블
  emp['sal']  <---   판다스 시리즈(series) ,  오라클의 컬럼 

컬럼(시리즈) 의 데이터를 잘 검색할 수  있도록 도와주는 함수들이 여러개가 있습니다. 

이 중에 apply 라는 함수가 있습니다. apply 함수는 이름 그대로 적용하겠다는 것입니다. 
어떤 조건을 적용해서 데이터를 검색하겠다는 뜻입니다. 

예:  이름의 첫번째 철자가 A 인 사원들의 이름을 출력하시오 !
emp[ ['ename'] ]   [  emp['ename'].apply(  적용할 검색 조건 )  ]  
emp[ ['ename'] ]   [  emp['ename'].apply(  lambda   x : x[0] =='A'  )  ]  
                                                   ADAMS :  'A' =='A'

lambda   x : x[0] =='A'   <--- 이 부분 설명
lambda  -->  이름이 없는 한줄 짜리 함수를 생성할 때 사용하는 키워드 
                       lambda 다음에 어떤 기능에 대한 코드를 적어주면 됩니다. 

x : x[0]   --->    입력값을 받은 변수 :  출력을 하는 조건 
x 에 뭐가 입력되냐면  emp['ename'] 의 데이터가 x 라는 변수에 입력됩니다. 
emp['ename']   <--- 이것만 실행해보면  다음과 같이 이름이 출력되는데
아래의 이름 14개가 KING 부터 하나씩 x 라는 변수에 입력이 됩니다.  

0      KING          ---------------->   x  라는 빈컵 
1      BLAKE        ---->  x  :  x[0]  --->  B
2     CLARK       ---->   x : x[0]  --->  C 
3     JONES
4     MARTIN
5     ALLEN
6     TURNER
7     JAMES
8     WARD
9     FORD
10    SMITH
11     SCOTT
12    ADAMS
13    MILLER     ---->  x  :  x[0]    ---->  M 

x 라는 변수에  KING 이 제일 처음 담겼고  출력값으로 x[0] 이 실행되는데 
x 다음에 나오는 [0] 을 인덱스라고 합니다. 
'KING'[0]  이라고  수행한것 입니다.  
KING 이라는 문자열에서  0번째 철자를 가져오라는 뜻입니다. 
파이썬은 1번부터 시작하지 않고 0번부터 시작합니다. 

'KING'[0]    -->  K
'KING'[1]    -->  I
'KING'[2]   -->  N
'KING'[3] ---->  G