Logo
내 게시판 만들기
파이썬

apply — 임의 함수 적용

토순이 | 2026.04.27 13:01:02
조회 14 | 추천 0

apply는 「Series나 DataFrame의 모든 요소·행·열에 임의의 함수를 적용하는」 매우 유연한 메서드입니다.

표준 함수로 표현하기 어려운 변환에 마지막 수단으로 쓰입니다.



Series에 적용.

df["name"].apply(len) — 각 이름의 길이.

df["name"].apply(lambda s: s.upper()) — 대문자로.

한 열의 각 값에 함수를 적용해 새 Series를 만듭니다.



DataFrame에 적용.

df.apply(lambda row: row["a"] + row["b"], axis=1) — 각 행에 함수 적용.

axis=0(기본)이면 각 열에.

「여러 열을 결합한 새 열 만들기」에 자주 씁니다.



applymap (Pandas 2.x에서는 .map).

모든 셀에 함수 적용.

df.applymap(lambda x: f"{x:.2f}") — 모든 셀을 소수점 둘째 자리 문자열로.



주의 — 성능.

apply는 매우 유연하지만 Pandas의 다른 벡터화 함수보다 훨씬 느립니다(파이썬 함수 호출이 매번 일어남).

가능하면 「벡터화된 표현」을 먼저 시도하고, 마지막에 apply를 쓰는 게 좋습니다.

df["price"] * 1.1은 (df["price"]).apply(lambda x: x * 1.1)보다 100배 빠릅니다.




한 줄 요약


apply는 Series·DataFrame의 모든 요소·행·열에 임의 함수를 적용하는 유연한 도구입니다.

매우 강력하지만 벡터화 표현보다 느리므로 마지막 수단으로 사용합니다.




더 알아볼 것


- apply vs map vs applymap

- axis=0 vs axis=1 직관

- Numba·Cython — apply 가속

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
131 부엉이 26/04/27 14 0
130 야옹이 26/04/27 15 0
129 별님이 26/04/27 14 0
128 너구리 26/04/27 17 0
127 부엉이 26/04/27 14 0
126 구름이 26/04/27 14 0
125 곰돌이 26/04/27 17 0
124 곰돌이 26/04/27 17 0
123 야옹이 26/04/27 18 0
122 멍뭉이 26/04/27 15 0
121 토순이 26/04/27 15 0
120 토순이 26/04/27 15 0
119 별님이 26/04/27 18 0
118 다람쥐 26/04/27 15 0
117 별님이 26/04/27 15 0
116 다람쥐 26/04/27 13 0
115 햇살이 26/04/27 12 0
114 너구리 26/04/27 11 0
113 부엉이 26/04/27 16 0
112 야옹이 26/04/27 14 0
111 햇살이 26/04/27 17 0
110 곰돌이 26/04/27 12 0
109 토순이 26/04/27 14 0
108 햇살이 26/04/27 15 0
107 멍뭉이 26/04/27 14 0
106 햇살이 26/04/27 12 0
105 햇살이 26/04/27 11 0
104 햇살이 26/04/27 14 0
103 야옹이 26/04/27 14 0
102 너구리 26/04/27 12 0
신고하기

신고 사유를 선택해 주세요.