将函数应用于DataFrame中的每个单元格

时间:2016-09-13 17:39:46

标签: python pandas dataframe apply

我的数据框可能如下所示:

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

是否有一个简单的单行程可以为每个单元格应用一个函数?

这是一个简单的示例,因此除了应用函数之外,可能有更简单的方法来执行此特定示例,但我真正要问的是如何在数据帧中的每个单元格中应用函数。

1 个答案:

答案 0 :(得分:61)

您可以使用简明扼要的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