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

发布于 2021-01-29 17:05:11

我有一个数据框可能看起来像这样:

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
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看