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
'python' 카테고리의 다른 글
python - concat 함수 (1) | 2024.10.22 |
---|---|
python upper, lower 함수시 유의사항 - str (0) | 2024.10.22 |
python unique 사용시 주의사항 (1) | 2024.10.22 |
데이터 전처리 - 피처 스케일링과 정규화 (0) | 2023.12.13 |
데이터 전처리 - 데이터 인코딩 (Data Encoding) (0) | 2023.12.13 |