python pandas:将带有参数的函数应用于一系列

发布于 2021-02-02 23:11:49

我想将带有参数的函数应用于python pandas中的系列:

x = my_series.apply(my_function, more_arguments_1)
y = my_series.apply(my_function, more_arguments_2)
...
关注者
0
被浏览
95
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    y_series.apply(your_function, args=(2,3,4), extra_kw=1)
    

    位置参数添加到系列元素之后。

    对于旧版本的pandas:

    文档对此进行了清楚的说明。apply方法接受应具有单个参数的python函数。如果要传递更多参数,则应functools.partial按照Joel Cornett在其评论中的建议使用。

    一个例子:

    >>> import functools
    >>> import operator
    >>> add_3 = functools.partial(operator.add,3)
    >>> add_3(2)
    5
    >>> add_3(7)
    10
    

    你也可以使用传递关键字参数partial

    另一种方法是创建一个lambda:

    my_series.apply((lambda x: your_func(a,b,c,d,...,x)))
    

    但我认为使用partial会更好。



知识点
面圈网VIP题库

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

去下载看看