1) Series(1차원), DataFrame(2차원) 타입의 객체에서 사용 가능
2) 행/열, 전체 셀에 원하는 연산 지원
3) numpy의 sqrt과 같이 단일 연산인 경우 전체에 적용
4) numpy의 min, max, average와 같이 집계되는 경우 사라질 축 지정
5) 열 단위 집계 - axis=0
df.apply(np.sqrt, axis=0)
6) 행 단위 집계 - axis=1
df.apply(np.sqrt, axis=1)
7) 함수 적용 가능
def get_avg(df):
return math.round((df['math']+df['english'])/2) # 반올림
df['res']=df.apply(get_avg, axis=1) # 데이터 프레임에 행 단위로 평균값 함수 적용, 결과값 저장
def grouping(x):
if x<=5:
return 1
elif x>5:
return 2
df['res']=df['col_name'].apply(grouping)
# grouping 함수를 적용하여 결과값 저장, 행 단위
8) 간단한 경우 lambda() 함수 적용 가능(복잡한 경우 사용자 정의 함수 적용 가능)
df['res']=df.apply(lambda x : x['firstNum'] * x['secondNum']
if (x['firstNum'] >= x['secondNum'])
else -1, axis=1)
# 람다식 적용하여 결과값 저장, 행 단위