首页  >  文章  >  后端开发  >  如何将带参数的函数应用于 Pandas 系列?

如何将带参数的函数应用于 Pandas 系列?

Patricia Arquette
Patricia Arquette原创
2024-10-22 23:15:29234浏览

How to Apply a Function with Arguments to a Pandas Series?

将带参数的函数应用于 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:

  1. 使用 functools.partial:

使用 functools.partial(func, *args, **kwargs) 创建部分函数,​​将其他参数绑定到您的函数:

<code class="python">add_3 = functools.partial(operator.add, 3)
my_series.apply(add_3)</code>
  1. 使用lambda 表达式:

传递包含附加参数的 lambda 函数:

<code class="python">my_series.apply(lambda x: your_func(x, arg1, arg2, ...))</code>
  1. 创建自定义函数:

定义一个接受所有必要参数的自定义函数,包括作为第一个参数的系列元素:

<code class="python">def my_custom_func(x, arg1, arg2, ...):
    return ...

my_series.apply(my_custom_func, args=(arg1, arg2, ...))</code>

以上是如何将带参数的函数应用于 Pandas 系列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn