我的数据框可能如下所示:
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
是否有一个简单的单行程可以为每个单元格应用一个函数?
这是一个简单的示例,因此除了应用函数之外,可能有更简单的方法来执行此特定示例,但我真正要问的是如何在数据帧中的每个单元格中应用函数。
答案 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