다음과 같은 데이터 프레임이 있습니다.
A B C
foo bar foo bar
bar foo foo bar
각 행의 모든 요소 (또는 각 열의 모든 요소)를 살펴보고 다음 함수를 적용하여 후속 DF를 얻고 싶습니다.
def foo_bar(x):
return x.replace('foo', 'wow')
A B C
wow bar wow bar
bar wow wow bar
각 셀에 함수를 적용 할 수있는 간단한 한 줄이 있습니까?
이것은 단순한 예이므로 함수를 적용하는 것 외에이 특정 예를 실행하는 더 쉬운 방법이있을 수 있지만 제가 정말로 묻고있는 것은 데이터 프레임 내의 모든 셀에 함수를 적용하는 방법입니다.
답변
귀하 applymap()
의 경우에 간결한 것을 사용할 수 있습니다 .
df.applymap(foo_bar)
# A B C
#0 wow bar wow bar
#1 bar wow wow bar
또 다른 옵션은 함수를 벡터화 한 다음 apply
메서드 를 사용 하는 것입니다.
import numpy as np
df.apply(np.vectorize(foo_bar))
# A B C
#0 wow bar wow bar
#1 bar wow wow bar