将带参数的函数应用于 Pandas 系列
问题:
你需要将函数应用于具有附加参数的 pandas 系列。但是,pandas apply() 方法仅接受带有单个参数的函数。
解决方案:
Pandas 的较新版本(2017 年 10 月后) :
pandas apply() 已更新以支持位置和关键字参数。要传递参数,请使用以下语法:
<code class="python">my_series.apply(your_function, args=(param1, param2, ...), extra_kw=arg1)</code>
旧版本的 Pandas:
使用 functools.partial(func, *args, **kwargs) 创建部分函数,将其他参数绑定到您的函数:
<code class="python">add_3 = functools.partial(operator.add, 3) my_series.apply(add_3)</code>
传递包含附加参数的 lambda 函数:
<code class="python">my_series.apply(lambda x: your_func(x, arg1, arg2, ...))</code>
定义一个接受所有必要参数的自定义函数,包括作为第一个参数的系列元素:
<code class="python">def my_custom_func(x, arg1, arg2, ...): return ... my_series.apply(my_custom_func, args=(arg1, arg2, ...))</code>
以上是如何将带参数的函数应用于 Pandas 系列?的详细内容。更多信息请关注PHP中文网其他相关文章!