apply 함수
- 구체적인 로직을 적용하고 싶을 경우
- 로직이 정의된 함수를 만들고,
apply()
함수에 대입
#def 함수 정의 코드임
#replace_xero : file명
#x = input 들어오는 값들
def replace_zero(x):
if x ==0: #input인자가 0일 경우에
x =165 #값이 0일 경우에 165로 대체하라
return x #아닐 경우에 다시 반환하라
#apply에 (함수코드 파일명)을 입력해주면 함수가 적용됨
df['컬럼명']=df['컬럼명'].apply(replace_zero)
df
lamda 함수
def
정의된 함수와 동일한 기능
- 한줄로 작성가능
def
return
작성하지 않아도 괜찮음
- 로직이 복잡하지 않을 경우에 사용
- 가독성이 좋고 간편함
lamda '입력변수':'리턴값' '조건문(옵션)'
#적용하고 싶은 컬럼명
# x가 0일 경우에 x를 50으로 반환해라
# x가 0일 아닌 경우라면 input값 그대로 반환해라
df['컬럼명']=df['컬럼명'].apply(lamda x:50 if x ==0 else x)
#집계된 컬럼 만들기 #파생 컬럼 생성 #dataframe 마지막 열에 생성됨
df['컬럼명1'+'컬럼명2'] = df.apply(lamda x: x['컬럼명1']+x['컬럼명2'],axis=1)
map 함수
- 데이터 값을 특정한 값으로 mapping하고 싶은 경우 사용
- 하나의 컬럼인, Series 형으로만 적용가능
df['컬럼명'].map('매핑정보')
- key : value
map_info = {'M' : '남자',
'F' : '여자'}
df['컬럼명'] =df['컬럼명'].map(map_info)