[python] DataFrame의 각 셀에 기능 적용

다음과 같은 데이터 프레임이 있습니다.

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


답변