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

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

x = my_series.apply(my_function, more_arguments_1)

y = my_series.apply(my_function, more_arguments_2)

...

回答:

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会更好。

以上是 python pandas:将带有参数的函数应用于一系列 的全部内容, 来源链接: utcz.com/qa/410670.html

回到顶部